我找不到使用函数从data.frame中选择变量的方法。 我试过像
这样的东西modDiagnosis<-function<-(x){
#prediction
pred<-prediction(test[,x],test$VAR2)
}
或
modDiagnosis<-function<-(x){
vars<-deparse(substitute(x))
#prediction
pred<-prediction(test[,vars],test$VAR2)
}
但总是得到同样的错误
Error in `[.data.frame`(test, , x) : object 'x' not found
我做错了什么?
答案 0 :(得分:2)
调用该函数时,您很可能需要引号。示例数据框:
df <- data.frame(x=1:4)
df
# x
#1 1
#2 2
#3 3
#4 4
创建一个返回子集的简单函数:
f <- function(x) df[,x]
并调用该函数返回列x
:
f(x)
#Error in `[.data.frame`(df, , x) : object 'x' not found
这是您收到的错误。评估者正在寻找对象x
并且无法找到它。尝试:
f("x")
#[1] 1 2 3 4
通过引用列名,我们可以找到正确的列。希望有助于解决问题。