【发布时间】:2017-02-14 11:58:11
【问题描述】:
我想用可变输入替换部分变换函数。
我已经使用来自现有表的 col1 的子集创建了一个 df:
col1 = c('A','B','C')
df 看起来像这样:
A = c(1, 3)
B = c(3, 1)
C = c(5, 2)
df = data.frame(A, B, C)
我现在想自动进行手动计算,如下所示:
df <- transform(df, 'ABC' = (A + B + C))
其中 (A + B + C) 指的是 df 的列。因为我有数百个'col1',所以我不能手工完成。我试图使用类似于 %s 的东西(在 python 2.X 中可用),但到目前为止,没有什么真正起作用,而且我对 R 了解太少(与 eval() 相关?)无法让事情正常工作(尝试粘贴,如.formula、sprintf、替代等)。
使用 cv(col1) 我试图将输出粘贴到转换函数中,但我得到的最远的结果是转换尝试在使用 as.formula 时从环境(而不是列)中获取值。
cv = function(var){
output = paste('(', paste(var, collapse = ' + '), ')', sep = '')
return(output)
}
不胜感激任何提示或想法!
【问题讨论】:
标签: r string transform substitution