rpart公式参数用法:"在下标的作业中不允许使用NA"

时间:2016-07-08 12:18:47

标签: r rpart

在简单的线性回归中,有了数据框,我们可以用它来更简单地编写公式,例如:

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)

1 个答案:

答案 0 :(得分:1)

编辑:新代码。

我认为问题是角色/因素变量。为了解决这个问题,我不得不用虚拟变量创建一个数据框。

var recEngine = function(event, ui) {
    var selected_value = ui.item.value
    var selected_id = ????
}

我希望能解决你的问题。