【发布时间】:2016-07-08 12:18:47
【问题描述】:
在简单的线性回归中,有一个数据框,我们可以用它来更容易地编写公式,例如:
lm(my_dep_var ~ .-var1, data=my_df)
将返回带有除var1 之外的变量的模型作为我们模型中的独立变量。
但是,当我尝试在rpart 函数中使用相同的公式时,它似乎有一个错误:
> tree1 <- rpart(Reverse ~ .-Circuit, data=train[a], method="class", minbucket=25)
Error in rpart(Reverse ~ . - Circuit, data = train[a], method = "class", :
NAs are not allowed in subscripted assignments
>
我没有 NA 是我的数据,没有减号的 rpart 命令(但带有点:Reverse ~ .)似乎运行良好。所以看来我不能在rpart 公式中使用减号。
真的是这样吗?我在哪里可以阅读文档中的此类内容?
编辑:这是一个产生这种错误的简化代码:
var1 <- as.factor(c(1,1,1,0,1))
var2 <- c(0,0,0,0,0)
var3 <- factor(c("2", "9", "5", "5", "5"), levels=c("2","3","4","5","8","9"))
var4 <- factor(c("EA", "EA", "EA", "EA", "JP"), levels=c("EA", "CR", "CA", "JP"))
dtf <- data.frame(var1, var2, var3, var4)
rpart(var1 ~.-var4 ,data=dtf, method="class", minbucket=25)
【问题讨论】: