Ho un dataframe come di seguito:come generare una matrice di regressione lineare come 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
voglio fare la regressione lineare per ogni due colonne nella dataframe, e impostare intercept
come 0.
In altre parole, voglio ottenere i coefficienti di lm(a1~a2+0), lm(a1~a3+0), lm(a1~a4+0), lm(a2~a1+0), lm(a2~a3+0)...
In cor()
, se un ingresso dataframe, otterrò una matrice posteriore, p.es. sotto,
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()
c'è alcun modo per ottenere lo stesso tipo di matrice?
Grazie.
Mi dispiace per il mio commento non relativo alla tua domanda, ma cosa significa '+ 0'? Stai cercando di non includere un'intercetta nel modello? – SabDeM
@SabDeM '+ 0' significa rimuovere l'intercetta. – rankthefirst
L'ho indovinato. Sapevo solo di mettere un '- 1', ma ora so che' + 0' funziona bene anche come è stato detto qui: http://stackoverflow.com/questions/14216893/how-to-remove-intercept-in -r. Grazie. – SabDeM