【发布时间】:2013-02-11 12:23:02
【问题描述】:
我正在尝试分析 R 中的一些线性模型结果,特别是我对 lm 对象摘要中为自变量报告的 p 值感兴趣(我知道有更复杂的比较方法变量的相关性,但过去的一些比较让我相信,对于初步分析,这个 p 值会起作用)。 我确信这些 p 值不依赖于公式中指定变量的顺序(例如,在使用 anova 时这是不正确的),所以我对我得到的假数据的一些结果感到困惑:
> x<-rnorm(100)
> y <- 2*x
> xJ <- jitter(x)
> lm1 <- lm(y~x)
> lm2 <- lm(y~x+xJ)
> lm3 <- lm(y~xJ+x)
> summary(lm1)$coefficients
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.220446e-17 4.064501e-17 -5.463023e-01 0.5860998
x 2.000000e+00 4.037817e-17 4.953172e+16 0.0000000
> summary(lm2)$coefficients
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.000000e+00 4.271540e-17 0.000000e+00 1.0000000
x 2.000000e+00 3.534137e-13 5.659091e+12 0.0000000
xJ 4.147502e-13 3.534140e-13 1.173553e+00 0.2434475
> summary(lm3)$coefficients
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.594538e-18 5.512644e-21 -2.892511e+02 3.147977e-144
xJ -3.531641e-16 4.560990e-17 -7.743146e+00 9.391428e-12
x 2.000000e+00 4.560986e-17 4.385017e+16 0.000000e+00
我的错误在哪里?
谢谢
【问题讨论】:
-
浮点精度也可能是这里的一个问题。试试
y <- 2*x+3*xJ+rnrom(100),这样xJ实际上会影响y。 -
@Arun:我不认为这就是这里发生的事情,这可能解释了
y ~ x和y ~ x + xJ之间的区别,但我不认为它涵盖了 @987654327 之间的区别@ 和y ~ xJ + x。我认为这是浮点怪异和x与y完全相关的事实的结合。 -
感谢大家的回答。在这种情况下,我相信 Marius 是对的(Roland 建议的测试支持这个想法)。这是我关于统计数据和类似事情的惯常循环:当我查看真实数据时,我会感到困惑,所以我决定研究一些小的假例子,我通常让它们过于简单/极端情况,所以我会更加困惑 :)
标签: r regression