【问题标题】:R - elegant way to prepend text to vector elements in a dplyr pipe?R - 将文本添加到 dplyr 管道中的矢量元素的优雅方式?
【发布时间】:2021-03-12 04:35:42
【问题描述】:

我正在寻找一种更优雅的方式来为 dplyr 管道中向量中的每个项目添加文本。我可以很容易地附加文本:

vec = c("AAA","BBB","CCC") %>% 
    paste0("_suffix")

但我需要打破管道操作以进行前置:

vec1 = c("AAA","BBB","CCC") 
vec1 <- paste0("prefix_", vec1)

以上是一个大大简化的示例。我在为一些我提取的变量添加前缀之前和之后执行了一些 %>% 管道操作。仅仅为了执行前置操作就不得不跳出管道感觉很笨拙,我知道会有一种简单而优雅的方式来做到这一点。

var1 <- html %>% 
    html_nodes(".some_class") %>% 
    html_attr('href') %>% 
    #several more operations
    ...

var1 <- paste0(prefix_text, var1) %>% 
    #several more operations
    ...

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    使用点来指定要替换的第二个参数,而不是第一个参数。

    c("AAA","BBB","CCC") %>% paste0("prefix_", .)
    ## [1] "prefix_AAA" "prefix_BBB" "prefix_CCC"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多