Gdy używasz funkcji barplot2()
z biblioteki gplots
, da przykład przy użyciu tej metody.
Najpierw utworzono plagę, jak podano w pliku pomocy funkcji barplot2()
. ci.l
i ci.u
są fałszywymi wartościami przedziału ufności. Barplot powinien zostać zapisany jako obiekt.
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)
Jeśli spojrzeć na obiekt mp
, zawiera współrzędne x dla wszystkich barów.
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
Teraz używam górnych przedziałów ufności do obliczania współrzędnych dla wartości y segmentów. Segmenty rozpoczną się w pozycji o 1 wyższej niż koniec przedziałów ufności. y.cord
zawiera cztery rzędy - pierwszy i drugi wiersz odpowiadają pierwszemu prętowi, a pozostałe dwa rzędy drugiemu prętowi. Najwyższa wartość y jest obliczana na podstawie maksymalnych wartości przedziałów ufności dla każdej pary prętów. x.cord
wartości po prostu powtarzaj te same wartości, które są w obiekcie mp
, co 2 razy.
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))
Po barplot jest stosowanie sapply()
do pięciu odcinków (ponieważ ten czas jest 5 grupy) z użyciem obliczonych współrzędnych.
sapply(1:5,function(x) lines(x.cord[,x],y.cord[,x]))
Aby wykreślić teksty nad segmentami obliczenie współrzędnych x i y, gdzie x jest środkowym punktem dwóch prętów wartości x i y to wartości obliczono z wartości maksymalnych przedziałów ufności dla każdej pary bar oraz niektóre stałe. Następnie użyj funkcji text()
, aby dodać informacje.
x.text<-colMeans(mp)
y.text<-apply(ci.u,2,max)+7
text(c("*","**","***","NS","***"),x=x.text,y=y.text)
Istnieje funkcja plot.cld w multcomp, w której można umieścić litery powyżej słupków, co wskazuje na istotność. Perhabs to także coś dla ciebie ... – EDi
Istnieje również 'bar.group' z pakietu' agricolae', który umieszcza litery dla ciebie. – mnel
Jeśli użyjesz 'barplot' bazy R, możesz przechowywać środkowe punkty taktów, jak' barstore <- barplot (1: 3) '. Aby sprawdzić, czy to działa, spróbuj 'abline (v = barstore)' i zwróć uwagę, że pionowe linie przecinają cały środek pasków. Używając "segmentów", możesz wykorzystać te zapisane punkty, aby narysować linie porównania/interakcji. – thelatemail