[英]How to plot Two Sample t.test() means, medians, and CI in R?
使用我拥有的数据,此R
代码x <- t.test(Age ~ Completers, var.equal = TRUE, data = data)
呈现以下结果:
Two Sample t-test
data: Age by Completers
t = 0.93312, df = 1060, p-value = 0.351
alternative hypothesis: true difference in means between group Completers and group Non Completers is not equal to 0
95 percent confidence interval:
-0.5844018 1.6442118
sample estimates:
mean in group Completers mean in group Non Completers
37.16052 36.63062
我想要的是 plot 每个均值(在x$estimate[1]
和x$estimate[2]
中找到)在x
轴上有自己的点,在y
轴上的适当高度(在同一张图上)和每个点补充了相同的置信区间 (CI)(在x$conf.int[1]
和x$conf.int[2]
中找到)。 像这样[*]:
不幸的是,如果我没记错的话, plot()
(来自Generic XY Plotting )似乎无法处理这个问题。 所以我尝试使用plotCI
(来自gplots )如下:
library(gplots)
plotCI(x = x$estimate[1], y = x$estimate[2],
li = x$conf.int[1], ui = x$conf.int[2])
但它呈现如下所示:
我的问题:
jmv::
代码(参见 [*]))? [*] 使用以下代码的 Jamovi 版本 2.3.15.0 获得的图表(但我想避免使用jmv::
):
jmv::ttestIS(
formula = Age ~ Completers,
data = data,
plots = TRUE
)
使用的系统:
以下应该做你想要的,虽然我没有数据,所以可能需要一些调整:
样本数据
df <- data.frame(type = c("Completers","Non Completers"),
point_est = c(37.2, 36.8),
ci_lo = c(36.4, 36.0),
ci_hi = c(38.0, 37.5))
Plot
plot(NA, xlim = c(0,3), ylim = c(35, 38), # blank plot
axes = FALSE, xlab = "", ylab = "")
segments(x0 = c(1,2), y0 = df$ci_lo, y1 = df$ci_hi) # add segments
points(df$point_est, pch = 19) # add means
axis(1, at = 0:3, labels = c(NA, df$type, NA)) # add x axis
axis(2) #add y axis
mtext(side = 1, "Completers", padj = 4) # add x label
mtext(side = 2, "Age", padj = -4) # add y label
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.