【发布时间】:2015-01-28 19:23:27
【问题描述】:
我想扩展一个 data.frame 以包含一个新列并为该列提供一个在函数中传递的动态分配的名称。这是一个简化的例子:
passMyName <-function(df, newColTitle) {
df2 <-data.frame(df, newColTitle = rep(NA, nrow(df)))
return(df2)
}
randomDF <-data.frame(a=1:3, b=4:6, c=7:9)
passMyName(randomDF, myCustomColTitle)
这将向 data.frame 添加一个新列,其变量名称由函数“newColTitle”定义。相反,我想将 newColTitle 评估为“myCustomColTitle”并将其作为此新列的命名标记传递,这样输出 data.fram 就会包含一个名为“myCustomColTitle”的新列。
这可能吗?也许通过substitute()、deparse()、quote()、eval()、paste() 等。您可以假设我已经阅读了以下关于此类主题的入门读物(实际上是多次):
http://adv-r.had.co.nz/Computing-on-the-language.html
但有些细节并没有完全让我印象深刻。
谢谢
【问题讨论】:
标签: r function dataframe evaluation expression-evaluation