Nel tentativo di compilare il tag R qui, sto postando alcune domande che ho ricevuto spesso dagli studenti. Ho sviluppato le mie risposte a questi nel corso degli anni, ma forse ci sono modi migliori di fluttuare che non conosco.Il modo migliore per tracciare gli effetti di interazione da un modello lineare
La domanda: Ho appena eseguito una regressione con continuo y
e x
ma fattore f
(dove levels(f)
produce c("level1","level2")
)
thelm <- lm(y~x*f,data=thedata)
Ora vorrei tracciare i valori previsti di y
da x
suddivisi per gruppi definito da f
. Tutte le trame che ottengo sono brutte e mostrano troppe righe.
La mia risposta: Prova la funzione predict()
.
##restrict prediction to the valid data
##from the model by using thelm$model rather than thedata
thedata$yhat <- predict(thelm,
newdata=expand.grid(x=range(thelm$model$x),
f=levels(thelm$model$f)))
plot(yhat~x,data=thethedata,subset=f=="level1")
lines(yhat~x,data=thedata,subset=f=="level2")
Vi sono altre idee là fuori che sono (1) più facile da capire per un nuovo arrivato e/o (2) meglio da qualche altro punto di vista?
Si noti che 'ggplot2' ha una funzione' fortify.lm' che integra i dati con un numero di statistiche di adattamento del modello lineare – mnel