在添加新列的同时使用动态命名

时间:2019-03-26 18:30:00

标签: r tidyverse tibble

在使用bind_cols()或add_column时,我无法使用paste / paste0在循环内动态命名列。

for (i in 1:10){
abc %>%
add_column(paste0("new",i) = 1:6)
} 

上面的代码给出了一个错误。 如何在循环内动态命名新列。

2 个答案:

答案 0 :(得分:0)

使用:=

for (i in 1:10){
abc %>%
add_column(!! paste0("new",i) := 1:6)
} 

答案 1 :(得分:0)

到目前为止,提供的解决方案将有些脆弱,最终将无用,因为如果abc的行数不等于{{1 }}。相反,应该使用创建或选择与数据结构的第一个维度匹配的值的代码。同样重要的是:该结果的值需要分配回:=。否则,没有持久的作用。

abc