我想将变量名称传递给函数,但似乎无法做到。简单地...
library (reshape)
test <- function(x) {
cast(data, x ~ ., length)
}
test(ageg)
我得到了这个回扣。
Error: Casting formula contains variables not found in molten data: x
我知道这很简单,但我找不到答案。我希望它只是运行
cast(data, ageg ~ ., length)
答案 0 :(得分:2)
试试这个:
test <- function (x) cast(data, as.formula(paste0(x , " ~ .")), length)
您要做的是即时编写公式。但是,公式是quoted
语言的一部分(IIRC)。因此,您的x
未经过评估,但在数据中搜索为x。
另一方面,这是通过评估paste0
中的x来首先创建一个字符串。然后使用as.formula
将字符串转换为公式。