Ho una raccolta di dati su diversi studi. Per ogni studio sono interessato alla media di una variabile per genere e se questo differisce in modo significativo. Per ogni studio ho gli intervalli di confidenza media e del 95% per maschi e femmine.Dotplot con barre di errore, due serie, jitter leggero
Quello che vorrei fare è qualcosa di simile a questo:
ho utilizzato diverse versioni di dotplots (grafico a punti, dotplot2, un grafico a punti), ma non abbastanza arrivarci.
Utilizzo di Dotplot
da Hmisc
Sono riuscito ad avere una serie e le sue anomalie, ma non riesco a capire come aggiungere la seconda serie.
Ho utilizzato Dotplot
e ho ottenuto la fine verticale delle barre di errore in seguito ai consigli forniti here.
Ecco un esempio di lavoro del codice che sto usando
data<-data.frame(ID=c("Study1","Study2","Study3"),avgm=c(2,3,3.5),avgf=c(2.5,3.3,4))
data$lowerm <- data$avgm*0.9
data$upperm <- data$avgm*1.1
data$lowerf <- data$avgf*0.9
data$upperf <- data$avgf*1.1
# Create the customized panel function
mypanel.Dotplot <- function(x, y, ...) {
panel.Dotplot(x,y,...)
tips <- attr(x, "other")
panel.arrows(x0 = tips[,1], y0 = y,
x1 = tips[,2], y1 = y,
length = 0.05, unit = "native",
angle = 90, code = 3)
}
library(Hmisc)
Dotplot(data$ID ~ Cbind(data$avgm,data$lowerm,data$upperm), col="blue", pch=20, panel = mypanel.Dotplot,
xlab="measure",ylab="study")
Questa traccia tre colonne di dati, la media per i maschi (avgm), e inferiore e limite superiore dell'intervallo di confidenza al 95% (lowerm e upperm). Ho altre tre serie, per gli stessi studi, che fanno lo stesso lavoro per le materie femminili (avgf, lowerf, upperf).
I risultati che ho simile a questa:
Ciò che manca, in poche parole:
l'aggiunta di una seconda serie (avgf) con mezzi e gli intervalli di confidenza definiti su altre tre variabili per gli stessi studi
aggiungendo un po 'di jitter verticale in modo che non siano uno sopra l'altro ma il lettore può vederli entrambi anche quando si sovrappongono.
si prega di mostrare il codice ... – Thomas
Grazie, codice aggiunto. Non funziona poiché sfortunatamente non posso condividere i dati originali a causa di accordi con gli autori originali. – PaoloCrosetto
Grazie per aver aggiunto quel codice. Dovresti, tuttavia, anche essere in grado di costruire un piccolo set di dati di esempio che funziona senza dare informazioni riservate. Magari suddividere i dati di due autori, cambiare un po 'i numeri e fare un anonimo e postare * that *. (L'idea è di non indurre i potenziali rispondenti a indovinare e ricostruire su * loro * proprio il formato dei dati che hai in mano.) –