【问题标题】:Trying to run predict试图运行预测
【发布时间】:2017-02-24 06:39:28
【问题描述】:

尝试通过选择列来运行以下预测:

这是之前的代码:

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")

这 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

【问题讨论】:

  • modelnewdata 之间的变量名可能不匹配。但如果没有可重现的例子,这很难确认。
  • 感谢您的编辑,但这确实有助于我们在我们的系统上重现您的问题。例如,我们没有traintestobjects。请参阅here 了解更多信息。

标签: r predict


【解决方案1】:

我知道是什么导致了这个错误:命令:

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 提供反馈

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多