为什么 r 给我 model.frame.default 的代码错误

问题描述 投票:0回答:1

我正在尝试编写代码。

在 x、x2 及其交互作用上回归 y。根据回归估计系数,在 x2 保持为 1 的情况下,将 x 从 -0.5 移动到 -0.7 对 y 有何影响?

fit <- lm(y ~ x + x2 + x:x2)
predict(fit, data.frame(x=-0.7, x2=1)) - predict(fit, data.frame(x=-0.5, x2=1))

但是这条消息出现了,

model.frame.default(formula = y ~ x + x.bar + x:x.bar, drop.unused.levels = TRUE) 中的错误: 可变长度不同(在“x.bar”中找到)

我不确定我哪里出错了,或者是否需要更多信息来帮助我。

r
1个回答
0
投票

如果例如,就会发生这种情况

x2
与其他变量的长度不同。

> n <- 10
> y <- rnorm(n)
> x <- rnorm(n)
> x2 <- rnorm(n - 1)^2
> 
> fit <- lm(y ~ x + x2 + x:x2)
Error in model.frame.default(formula = y ~ x + x2 + x:x2, drop.unused.levels = TRUE) : 
  variable lengths differ (found for 'x2')
© www.soinside.com 2019 - 2024. All rights reserved.