W obserwacji dyskusji na stackexchange starałem się realizować następujące działkiJak wykreślić wartości i różnice bezwzględne tym przedziałem ufności
z
Cumming, G., & Finch, S. (2005). [Wnioskowanie przez oko: przedziały ufności i jak czytać zdjęcia danych] [5]. Amerykański psycholog, 60 (2), 170-180. doi: 10.1037/0003-066X.60.2.170
Dzielę się niechęcią niektórych ludzi do podwójnej osi, ale myślę, że jest to dozwolony użytek.
Pod moją częściową próbą nadal brakuje drugiej osi. Poszukuję bardziej eleganckich alternatyw, mile widziane są inteligentne odmiany.
library(lattice)
library(latticeExtra)
d = data.frame(what=c("A","B","Difference"),
mean=c(75,105,30),
lower=c(50,80,-3),
upper = c(100,130,63))
# Convert Differences to left scale
d1 = d
d1[d1$what=="Difference",-1] = d1[d1$what=="Difference",-1]+d1[d1=="A","mean"]
segplot(what~lower+upper,centers=mean,data=d1,horizontal=FALSE,draw.bands=FALSE,
lwd=3,cex=3,ylim=c(0,NA),pch=c(16,16,17),
panel = function (x,y,z,...){
centers = list(...)$centers
panel.segplot(x,y,z,...)
panel.abline(h=centers[1:2],lty=3)
})
## How to add the right scale, close to the last bar?
W twoim kodzie, myślę, że musisz załadować pakiet 'latticeExtra', aby uzyskać funkcję' segplot() '. – smillig
Dzięki, poprawione. –