-1
set.seed(98234)
y <- rnorm(100)
x <- rnorm(100)
lm0 <- lm(y ~ x)
lm1 <- lm(I(y) ~ I(x))

一切都很好,我想我们可以同意“lm0”是人们期望发生的。lm1等于lm0(根据系数判断)。也是如此

set.seed(98234)
lm3 <- lm(I(rnorm(100)) ~ rnorm(100))
set.seed(98234)
lm4 <- lm(rnorm(100) ~ I(rnorm(100)))

但是当I()不在公式的两边或两边时,我没有从上面得到结果:

set.seed(98234)
lm2 <- lm(I(rnorm(100)) ~ I(rnorm(100)))
set.seed(98234)
lm5 <- lm(rnorm(100) ~ rnorm(100))

任何想法为什么?

4

1 回答 1

1

参数的左侧从不分解为组件,因此I不需要分组符号。

lm(I(a+b+c+d/e)~f)

将与

lm(a+b+c+d/e~f)

然而

lm(a~b+c+d/e)

不一样

lm(a~I(b+c+d/e))

甚至

lm(a~b+c+I(d/e))
于 2012-12-14T22:29:15.300 回答