gpt4 book ai didi

r - 如何绘制绝对值和差异,包括置信区间

转载 作者:行者123 更新时间:2023-12-04 17:10:32 24 4
gpt4 key购买 nike

stackexchange 上的讨论的后续我试图实现以下情节

Cumming Finch Plot

Cumming, G., & Finch, S. (2005)。 [眼睛推理:置信区间和如何读取数据图片][5]。美国心理学家,60(2),170-180。 doi:10.1037/0003-066X.60.2.170

我同意有些人不喜欢双轴,但我认为这是合理的使用。

在我的部分尝试之下,第二个轴仍然缺失。我正在寻找更优雅的替代品,欢迎智能变化。

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?

enter image description here

最佳答案

par(mar=c(3,5,3,5))
plot(NA, xlim=c(.5,3.5), ylim=c(0, max(d$upper[1:2])), bty="l", xaxt="n", xlab="",ylab="Mean")
points(d$mean[1:2], pch=19)
segments(1,d$mean[1],5,d$mean[1],lty=2)
segments(2,d$mean[2],5,d$mean[2],lty=2)
axis(1, 1:3, d$what)
segments(1:2,d$lower[1:2],1:2,d$upper[1:2])
axis(4, seq((d$mean[1]-30),(d$mean[1]+50),by=10), seq(-30,50,by=10), las=1)
points(3,d$mean[1]+d$mean[3],pch=17, cex=1.5)
segments(3,d$lower[3]+d$lower[2],3,d$lower[3]+d$upper[2], lwd=2)
mtext("Difference", side=4, at=d$mean[1], line=3)

enter image description here

关于r - 如何绘制绝对值和差异,包括置信区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16913849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com