在 R 中的管道末端运行函数

问题描述 投票:0回答:1

此代码从数据框中的两个不同列生成一个句子

library(dplyr); library(tibble); library(magrittr)

mtcars %>% 
  rownames_to_column(var = "car") %>%
  sample_n(5) -> 
  df

paste0(df$car, " (", df$mpg, ")", collapse = ", ")

# "Mazda RX4 Wag (21), Hornet Sportabout (18.7), Merc 280 (19.2), Dodge Challenger (15.5), Merc 450SLC (15.2)"

但不是让

paste0(df$car, " (", df$mpg, ")", collapse = ", ")
在独立线路上运行,我怎样才能让它在管道末端运行,如下所示(这会引发书面错误):

mtcars %>% 
  rownames_to_column(var = "car") %>%
  sample_n(5) %>%
  paste0(df$car, " (", df$mpg, ")", collapse = ", ")
r dataframe pipe tibble
1个回答
0
投票

with()
适用于此:

mtcars %>% 
  rownames_to_column(var = "car") %>%
  sample_n(5) %>% 
  with(paste0(car, "(", mpg, ")", collapse = ","))
© www.soinside.com 2019 - 2024. All rights reserved.