[英]How to predict future values using a multiple linear model in R?
所以我目前有一个由年份、学分和学生人数组成的数据集。 我一直试图通过学生人数来预测未来的学分。
df <- data.frame("year = c(2018,2019,2020,2021), "student" = c(1000,1200,1350,1450), "credit" = c(4000,4300,4730,4250))
mod <- lm(credit ~ year + student, data = df)
summary(mod)
我想预测未来几年的学分数量,比如 2022:2025,这也是预测学生数量的因素。 有没有办法做到这一点?
年 | 信用 | 学生 |
---|---|---|
2018 | 4000 | 1000 |
2019 | 4300 | 1200 |
2020 | 4730 | 1350 |
2021 | 4250 | 1450 |
2022 | 不适用 | 不适用 |
2023 | 不适用 | 不适用 |
2024 | 不适用 | 不适用 |
2025 | 不适用 | 不适用 |
换句话说,我如何使用 R 中的线性模型来预测所有这些 NA 值? 我可以在简单的线性回归中做到这一点没问题,但似乎无法让它以多种形式工作。
您需要将数据帧作为 newdata 参数传递给 predict()。 数据框要求您为每个预测指定自变量的值。 如果您还想根据线性模型预测学生人数并将其用作输入,那么您可以先执行该步骤。 就像是:
lm.student <- lm(students ~ year, df)
pred.student <- predict(lm.student, newdata = data.frame(year=2022:2025))
mod <- lm(credit ~ year + student, data = df)
MyNewData <- data.frame (year=2022:2025, student=pred.student)
pred <- predict(mod, newdata = MyNewData)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.