Ich habe einen Datenrahmen wie unten:wie eine lineare Regressionsmatrix wie cor zu erzeugen()
a1 a2 a3 a4
1 3 3 5 5
2 4 3 5 5
3 5 4 6 5
4 6 5 7 3
I lineare Regression für jeweils zwei Spalten in dem Datenrahmen tun will, und setzte intercept
als 0
Mit anderen Worten, ich möchte die Koeffizienten von lm(a1~a2+0), lm(a1~a3+0), lm(a1~a4+0), lm(a2~a1+0), lm(a2~a3+0)...
In cor()
bekommen, wenn ich Eingang ein Datenrahmen, ich werde eine Matrix zurück, zB unten,
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
In lm()
ist es eine Möglichkeit, die gleiche Art von Matrix zu bekommen?
Danke.
Es tut mir leid für meinen Kommentar nicht zu Ihrer Frage, aber was das '+ 0' bedeutet? Versuchen Sie, keinen Schnittpunkt in das Modell aufzunehmen? – SabDeM
@SabDeM '+ 0' bedeutet Entfernen des Abschnitts. – rankthefirst
Ich vermutete es. Ich wusste nur, eine '- 1' zu setzen, aber jetzt weiß ich, dass' + 0' auch gut funktioniert, wie es hier gesagt wurde: http://stackoverflow.com/questions/14216893/how-to-remove-intercept-in -r. Danke. – SabDeM