我想添加一个新的数据列并使用我传入的参数命名该列。我习惯于使用 dplyr 的 mutate 逐行和其他直接硬编码名称的方法,但我不确定从哪里开始。我将如何使用 mutate 或类似的简单/优雅的东西?
可重现的例子:
假设main是由以下定义的数据框
main <- data.frame(name1 = c(2,3,4), name2 = c(4,5,6), name3 = c(4,5,3))
而fieldname是一个字符串参数,传入了“name4”,new是c(6,5,4)
我想将fieldname和new附加到main以用于最终数据帧
name1 name2 name3 name4
1 2 4 4 6
2 3 5 5 5
3 4 6 3 4
但下面的功能还不能那样工作。
joinData <- function(main, new, fieldname) {
main$fieldname <- new # This does not work; Want my string variable's
# contents to become my new column name,
# not my variable's name "fieldname"
return(main)
}