Se si dispone di una tabella di riepilogo per un modello lineare in R, come posso ottenere i p-valori associati alle sole stime di interazione o solo al gruppo intercetta , ecc., senza dover contare i numeri delle righe?Nel modello R lineare, ottenere valori p solo per i coefficienti di interazione
Ad esempio, con un modello come lm(y ~ x + group)
con x
come continuo e group
come categorica, la tabella riassuntiva per l'oggetto lm
ha stime per:
- un'intercettazione
- x, la pendenza in tutti gruppi
- 5 all'interno delle differenze di gruppo dall'intervallo complessivo
- 5 all'interno di differenze di gruppo dalla pendenza complessiva.
Vorrei un modo per ottenere ognuno di questi come un gruppo di valori p, anche se il numero di gruppi o la formula del modello cambia. Forse ci sono informazioni che la tabella riassuntiva usa in qualche modo per raggruppare le righe?
Di seguito è riportato un set di dati di esempio con due modelli diversi. Il primo modello ha quattro diversi set di valori p che potrei voler ottenere separatamente, mentre il secondo modello ha solo due serie di valori p.
x <- 1:100
groupA <- .5*x + 10 + rnorm(length(x), 0, 1)
groupB <- .5*x + 20 + rnorm(length(x), 0, 1)
groupC <- .5*x + 30 + rnorm(length(x), 0, 1)
groupD <- .5*x + 40 + rnorm(length(x), 0, 1)
groupE <- .5*x + 50 + rnorm(length(x), 0, 1)
groupF <- .5*x + 60 + rnorm(length(x), 0, 1)
myData <- data.frame(x = x,
y = c(groupA, groupB, groupC, groupD, groupE, groupF),
group = rep(c("A","B","C","D","E","F"), each = length(x))
)
myMod1 <- lm(y ~ x + group + x:group, data = myData)
myMod2 <- lm(y ~ group + x:group - 1, data = myData)
summary(myMod1)
summary(myMod2)
Grazie, questo è un buon modo per farlo. Si noti che se utilizzo contrasti diversi da quelli predefiniti, i nomi delle righe sono group1, group2, group3, ecc., Anziché groupA, groupB, groupC, ecc. Sarebbe bello se il loro fosse un metodo aggiuntivo che non dipendesse conoscendo i nomi a livello di gruppo e quali contrasti vengono utilizzati. – Jdub
Non sono sicuro di aver capito bene.Se vuoi che funzioni a prescindere dai nomi dei livelli dei fattori, puoi provare qualcosa come 'summary (myMod1) $ coefficienti [nomi (sommario (mioMod1) $ coefficienti [, 4])% in% paste0 ('gruppo ', livelli (myData $ group)), 4] ' – RoyalTS
Se questo risponde alla tua domanda, saresti così gentile da accettarlo (fai clic sul segno di spunta verde accanto alla risposta)? – RoyalTS