试图运行地预测

问题描述:

试图运行下面通过选择列预测:试图运行地预测

这里的现有代码:

model <- glm(Automatable1Y0N ~.,family=binomial(link='logit'),data=train) 
data <- subset(training.data.raw,select=c(5,6,7,8,10,12,27)) 
train <- data[1:800,] 
test <- data[801:957,] 

model <- glm(Automatable1Y0N ~.,family=binomial(link='logit'),data=train) 
anova(model, test="Chisq") 

NO问题在此2行。而当我跑这个预测线:

fitted.results <- predict(model,newdata=subset(test,select=c(5,6,7,8,10,12)),type='response') 

,但我收到此错误:

Error in `[.data.frame`(x, r, vars, drop = drop) : undefined columns selected 

是否有人可以帮忙吗?谢谢。

我试图提取该子命令:

newdata <-subset(test,select=c(5,)) 

下面是结果,当我添加的列8这时候,错误想出了:

> newdata <-subset(test,select=c(5)) 
> newdata <-subset(test,select=c(5,6)) 
> newdata <-subset(test,select=c(5,6,7)) 
> newdata <-subset(test,select=c(5,6,7,8)) 
Error in `[.data.frame`(x, r, vars, drop = drop) : 
    undefined columns selected 
+1

可能是'model'和'newdata'之间的变量名称不匹配。但没有一个可重复的例子,这很难确认。 –

+0

感谢您的编辑,但这确实有助于我们在系统中再现您的问题。例如,我们没有'train'和'test'对象。请参阅[这里](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)以获取更多信息。 –

我看看是什么导致该错误:命令:

data <- subset(training.data.raw,select=c(5,6,7,8,10,12,27)) 

在这里,你现在有7列,该命令:

fitted.results <- predict(model,newdata=subset(test,select=c(5,6,7,8,10,12)),type='response') 

除了指定的原始列的,现在应该

select=c(1,2,3,4,5,6,7) 

因为数据集现在已经7列。感谢您通过@Paul提供反馈