使用bind_cols()或add_column时,我无法使用paste / paste0在循环内动态命名列。
for (i in 1:10){
abc %>%
add_column(paste0("new",i) = 1:6)
}
上面的代码给出了一个错误。如何在循环内动态命名新列。
使用:=
for (i in 1:10){
abc %>%
add_column(!! paste0("new",i) := 1:6)
}
到目前为止提供的解决方案将有点脆弱并且最终无用,因为如果abc
的行数不等于:=
的RHS上的值向量的长度,则会出错。相反,应该使用创建或选择与数据结构的第一维相匹配的值的代码。同样重要的是:该结果的价值需要分配回abc
。否则不会发生任何持久
abc <- data.frame(a=1:3)
for (i in 1:10){
abc <- abc %>%
add_column(!! paste0("new",i) := 1:nrow(.))
}