【发布时间】:2021-05-17 21:59:56
【问题描述】:
所以我的最终目标是在 2 个组中垂直绘制多个 95% 置信区间的图,如下例所示:
我找到了这个代码:https://rpubs.com/nati147/703463
但是如何在图中添加分组比较?
编写一个函数“CI_95”,输入一个样本值向量, 并输出该样本的 95% 置信区间。您可以使用 “margin_error_95”函数。
CI_95 <- function(sample_vals, sig){
error <- margin_error_95(sample_vals, sig)
CI <- mean(sample_vals) + c(-1, 1)*error
}
编写一个名为“margin_error_95”的函数,它接受输入一个向量 样本值,并输出 95% 置信度的误差范围 间隔。
margin_error_95 <- function(sample_vals, sig){
n <- length(sample_vals)
mar_err <- 1.96*(sig/sqrt(n))
}
plot_CI_95 <- function(seed){
B <- 100
n <- 30
mu <- 5
sig <- 1.2
set.seed(seed)
# extract upper bound of CI's
x_1 <- replicate(B,
{samp <- rnorm(n, mean = mu, sd = sig )
max(CI_95(samp, sig))
}
)
#extract lower bound of CI's
set.seed(seed)
x_0 <- replicate(B,
{samp <- rnorm(n, mean = mu, sd = sig )
min(CI_95(samp, sig))
}
)
set.seed(seed)
means <- replicate(B, mean(rnorm(n, mean = mu, sd = sig)))
plot(means, 1:B, pch = 20,
xlim = c(mu - sig, mu + sig),
ylim = c(0,B+1),
xlab = "sample means",
ylab = "index of the CI",
main = paste(B, "Confidence intervals")
)
for (i in 1:B){
if(between(mu, x_0[i], x_1[i])){
segments(x_0[i], i, x_1[i], i, lwd = 2) #plot CI's that contain the mean in black
} else {
segments(x_0[i], i, x_1[i], i, col = "red", lwd = 2) #plot CI's that don't contain the mean in red
}
}
abline(v=mu, col = "blue") #plot a vertical line at the population mean
}
运行剧情:
plot_CI_95(1)
【问题讨论】:
-
你的意思是男性/女性比较不同的酒吧?还是您的意思是四个面板,每组(T1 和 T2)似乎有 2 个面板?
标签: r plot forestplot