【发布时间】: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