【问题标题】:The predict()-function is returning unexpected outputpredict() 函数正在返回意外的输出
【发布时间】:2019-04-08 13:56:16
【问题描述】:

问题

我有一个使用一些数据集(id logAnalysis <- lm(log(wage) ~ female+exper+school))创建的线性回归模型,一切正常并且看起来符合预期。

我现在得到了一个新数据矩阵:

students <- matrix(c(
  0, 3, 10,
  1, 17, 12,
  1, 8, 9,
  0, 20, 10,
  0, 34, 9,
  0, 2, 13
), ncol = 3, byrow = TRUE)

第一列是女性/男性行业,第二列是工作经验,第三列是学校教育。我现在想对预期工资做出预测。这就是我的想法:

predictionData <- data.frame(female=students[,1], exper=students[,2], school=students[,3])

predictedIncome <- predict(logAnlaysis, newData = predictionData)

但事实证明predictedIncome 不是 6 的向量(i.d. 6 个预测,每个学生一个),而是 [1:3296] 的向量。我无法理解这一点。也许我误解了整个功能。但我不知道它还能做什么。

感谢您的帮助

问候

【问题讨论】:

  • 我敢打赌,您的训练数据中有 3296 个实例。问题是你有一个错字。您的预测语句应该说 newdata = predictionData 而不是 newData = predictionData(“newdata”中的小写 D)。
  • 如果你想为 predict 函数提供新数据,你必须使用 lm 函数的 data 参数。
  • 什么是logAnlaysis,应该拼写成logAnalysis?好像我们有 2 个(至少)错别字
  • 好吧,那真是太愚蠢了。非常感谢!

标签: r linear-regression predict


【解决方案1】:

只是一个错字。 newData = predictionData 而不是 newdata = predictionData

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-31
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 2015-07-11
    • 1970-01-01
    相关资源
    最近更新 更多