我有一个数据帧象下面这样:如何产生的线性回归矩阵状COR()
a1 a2 a3 a4
1 3 3 5 5
2 4 3 5 5
3 5 4 6 5
4 6 5 7 3
我想在数据帧每两列做线性回归,并设置intercept
为0
换句话说,我希望得到的lm(a1~a2+0), lm(a1~a3+0), lm(a1~a4+0), lm(a2~a1+0), lm(a2~a3+0)...
系数在cor()
,如果我输入一个数据帧,我会得到一个矩阵回来,如下面,
a1 a2 a3 a4
a1 1.0000000 0.9467293 0.8944272 0.2045983
a2 0.9467293 1.0000000 0.9622504 0.4989222
a3 0.8944272 0.9622504 1.0000000 0.4574957
a4 0.2045983 0.4989222 0.4574957 1.0000000
在lm()
有什么办法可以得到相同类型的矩阵?
谢谢。
我很抱歉我的评论与您的问题没有关系,但是那个'+ 0'是什么意思?你是否试图在模型中不包含拦截? – SabDeM
@SabDeM'+ 0'意味着移除拦截。 – rankthefirst
我猜测如此。我只知道要放一个' - 1',但现在我知道'+ 0'的工作方式也很好,因为它已经在这里说过了:http://stackoverflow.com/questions/14216893/how-to-remove-intercept-in -r。谢谢。 – SabDeM