首页 > 解决方案 > 在 R 中预测多变量线性模型

问题描述

我对具有两个变体(多变体)的线性模型的预测有疑问。我正在尝试使用我训练过的模型来预测新数据。我有这段代码可以根据 x 和 y 训练 z。数据大约有 60,000 行:

fit <- lm(z ~ poly(x, y, degree = 4), data = data)

然后我想通过执行以下操作来预测一行

x <- -20
y <-  20
data2 <- data.frame(cbind(x,y))
prediction <- predict(fit,data2)

r 通过此错误:

Error in Z[, 2] <- x - alpha[1L] : replacement has length zero

谢谢你的帮助!

标签: rlmpredictpoly

解决方案


以下代码使用末尾注释中显示的可重现输入运行,没有任何错误消息。

fit <- lm(z ~ poly(cbind(x, y), degree = 4), data = data)

data2 <- data.frame(x = -20, y = 20))
predict(fit, data2)
##        1 
## 436884.4

笔记

set.seed(123)

n <- 25
data <- data.frame(x = rnorm(n), y = rnorm(n), z = rnorm(n))

推荐阅读