La funzione qqmath crea grandi diagrammi a bruco di effetti casuali usando l'output del pacchetto lmer. Cioè, qqmath è bravissimo nel tracciare le intercettazioni da un modello gerarchico con i loro errori attorno alla stima puntuale. Un esempio delle funzioni lmer e qqmath sono sotto usando i dati incorporati nel pacchetto lme4 chiamato Dyestuff. Il codice produrrà il modello gerarchico e una trama piacevole usando la funzione ggmath.In R, tracciando gli effetti casuali da lmer (pacchetto lme4) usando qqmath o dotplot: come farlo sembrare di fantasia?
library("lme4")
data(package = "lme4")
# Dyestuff
# a balanced one-way classiï¬cation of Yield
# from samples produced from six Batches
summary(Dyestuff)
# Batch is an example of a random effect
# Fit 1-way random effects linear model
fit1 <- lmer(Yield ~ 1 + (1|Batch), Dyestuff)
summary(fit1)
coef(fit1) #intercept for each level in Batch
# qqplot of the random effects with their variances
qqmath(ranef(fit1, postVar = TRUE), strip = FALSE)$Batch
L'ultima riga di codice produce una bella trama di ogni intercettazione con l'errore attorno ad ogni stima. Ma la formattazione della funzione qqmath sembra essere molto difficile, e ho faticato a formattare la trama. Mi è venuta in mente alcune domande che non posso rispondere, e che penso che altri potrebbero beneficiare anche se stanno usando la combinazione lmer/qqmath:
- C'è un modo per prendere la funzione qqmath sopra e aggiungi alcune opzioni , ad esempio, rendendo determinati punti vuoti rispetto a quelli riempiti o colori diversi per punti diversi? Ad esempio, puoi fare il pieno dei punti per A, B e C della variabile Batch, ma poi il resto dei punti è vuoto?
- È possibile aggiungere etichette di assi per ciascun punto (ad esempio, sull'asse superiore o destro, ad esempio)?
- I miei dati sono più vicini a 45 intercetta, quindi è possibile aggiungere la spaziatura tra le etichette in modo che non si incontrino l'una con l'altra? PRINCIPALMENTE, sono interessato a distinguere/etichettare tra i punti sul grafico , che sembra essere ingombrante/impossibile nella funzione ggmath.
Finora, l'aggiunta di qualsiasi opzione aggiuntiva negli errori producono funzione qqmath dove non otterrebbe gli errori se si trattasse di un complotto di serie, quindi sono in perdita.
ANCHE, se ritieni che ci sia un pacchetto/funzione migliore per tracciare le intercettazioni dall'output di lmer, mi piacerebbe sentirlo! (per esempio, puoi fare punti 1-3 usando dotplot?)
Grazie.
EDIT: Sono anche aperto a un dotplot alternativo se può essere formattato in modo ragionevole. Mi piace l'aspetto di una trama ggmath, quindi sto iniziando con una domanda al riguardo.
Grazie mille! Questo sembra fantastico. Ma prima di dare il premio, ricevo due errori che dicono: non ho trovato la funzione "guide" e non ho trovato la funzione "tema" dal tuo codice di trama. Ho librerie per ggplot2 e scale, ma ottengo ancora gli errori. Qualche idea sul perché sarebbe? Sono un pacchetto diverso? Posso ancora stampare una trama ma non è identica a causa degli errori.Inoltre, è possibile capovolgere gli assi in modo che i livelli si trovino sull'asse Y (e le barre di errore siano orizzontali)? –
Dovresti aggiornare la tua versione di ggplot (e ridimensiona). Ci sono stati grandi cambiamenti nelle versioni più recenti, incluso l'uso di 'theme' (invece di' opts') – mnel
hmm, ho aggiornato tutti i miei pacchetti e ancora non funziona. Ho provato a spegnere R prima di riprovare anch'io; anche provato il codice in R Studio ma non funziona:/ –