Come si utilizza la funzione barplot2()
dalla libreria gplots
, darà esempio utilizzando questo approccio.
Innanzitutto, reso barplot come indicato nel file della guida della funzione barplot2()
. ci.l
e ci.u
sono valori di intervallo di confidenza falsi. Il barattolo dovrebbe essere salvato come oggetto.
hh <- t(VADeaths)[1:2, 5:1]
mybarcol <- "gray20"
ci.l <- hh * 0.85
ci.u <- hh * 1.15
mp <- barplot2(hh, beside = TRUE,
col = c("grey12", "grey82"),
legend = colnames(VADeaths)[1:2], ylim = c(0, 100),
cex.names = 1.5, plot.ci = TRUE, ci.l = ci.l, ci.u = ci.u)
Se si guarda sul oggetto mp
, contiene x coordinate per tutti i bar.
mp
[,1] [,2] [,3] [,4] [,5]
[1,] 1.5 4.5 7.5 10.5 13.5
[2,] 2.5 5.5 8.5 11.5 14.5
Ora utilizzo i valori dell'intervallo di confidenza superiore per calcolare le coordinate per i valori y dei segmenti. I segmenti inizieranno a una posizione che è 1 più alta della fine degli intervalli di confidenza. y.cord
contiene quattro righe: prima e seconda riga corrispondono alla prima barra e altre due righe alla seconda barra. Il valore y più alto viene calcolato dai valori massimi degli intervalli di confidenza per ciascuna coppia di barre. I valori x.cord
ripetono semplicemente gli stessi valori che si trovano nell'oggetto mp
, ogni 2 volte.
y.cord<-rbind(c(ci.u[1,]+1),c(apply(ci.u,2,max)+5),
c(apply(ci.u,2,max)+5),c(ci.u[2,]+1))
x.cord<-apply(mp,2,function(x) rep(x,each=2))
Dopo barplot è fatto uso sapply()
fare cinque segmenti (perché questa volta ci sono 5 gruppi) utilizzando le coordinate calcolate.
sapply(1:5,function(x) lines(x.cord[,x],y.cord[,x]))
Per tracciare testi sopra i segmenti calcolare coordinate xey, dove x è punto di mezzo di due barre valori x ed y valore viene calcolato dai valori massimi di intervalli di confidenza per ciascuna coppia bar più alcuni costante. Quindi utilizzare la funzione text()
per aggiungere informazioni.
x.text<-colMeans(mp)
y.text<-apply(ci.u,2,max)+7
text(c("*","**","***","NS","***"),x=x.text,y=y.text)

c'è una funzione plot.cld in multcomp, in cui è possibile inserire lettere sopra le barre che indicano significato. Perhabs questo è anche qualcosa per te ... – EDi
C'è anche 'bar.group' dal pacchetto' agricolae' che mette le lettere per te. – mnel
Se si utilizza il 'barplot 'della base R, è possibile memorizzare i punti centrali di barre come' barstore <- barplot (1: 3) '. Per verificare che funzioni, prova 'abline (v = barstore)' e nota che le linee verticali tagliano tutte il centro delle barre. Usando 'segmenti' potresti essere in grado di usare questi punti memorizzati per disegnare le tue linee di confronto/interazione. – thelatemail