我一直在使用 R 和 lm 函数进行线性回归并报告 R2。
y = c(1,2,3,4)
x = c(1,2,3,4)
f = lm(y~x)
r2 = summary(f)$r.squared
然而,有人给了我这个案子——
y = c(1,1,1,1,1)
x = c(75,33,50,33,50)
Excel 报告截距为 1,系数为 0,倍数 R 和 r2 为 1。R 报告截距为 1,系数为 01e-17,倍数 R 平方为 0.3392
不是统计学家,我不明白lm()
多重 R 平方的数字是从哪里得到的。有人可以帮我解释一下吗?
如果我将数据更改为
y = c(1,1,1,1,1)
x = c(1,1,1,1,1)
Excel 仍然给出 y = 1 + 0 * x r2 = 1
而lm()
将斜率报告为 NA 并且不报告多重 R 平方。
虽然这似乎是一个独特的案例,但我仍然被告知我的程序调用lm()
不起作用,因为它没有通过这些测试并且 Excel 给出了“预期”的答案。
谢谢