具有已计算平均值、置信区间和最小最大值的 R 箱线图
R boxplot with already computed mean, confidence intervals and min max
我正在尝试使用已计算的置信区间以及最小值和最大值在 R 中生成箱线图。对于时间 1、2、3、4、5(x 轴),我有 MN 表示 5 个元素的数组,每个元素描述时间点的平均值。我还有 CI1、CI2、MINIM 和 MAXM,每个都是 5 个元素的数组,每个时间步长一个,代表上部 CI、下部 CI , 最小值和最大值。
我想在每个时间步生成 5 个箱线图条。
我已经尝试了通常的箱线图函数,但我可以让它与已经计算出的 CIs 和 min max.
一起工作
如果该方法适用于普通绘图函数,那就太好了,不过 ggplot 也可以。
由于您没有发布数据,我将使用内置 iris
数据集,保留前 4 列。
data(iris)
iris2 <- iris[-5]
函数 boxplot
计算它使用的统计数据,然后调用 bxp
进行打印,将这些计算值传递给它。
如果你想要一组不同的统计数据,你将不得不计算它们并将它们手动传递给 bxp
。
我假设 CI 是指正常的 95% 置信区间。为此,您需要先计算标准误差和平均值。
s <- apply(iris2, 2, sd)
mn <- colMeans(iris2)
ci1 <- mn - qnorm(0.95)*s
ci2 <- mn + qnorm(0.95)*s
minm <- apply(iris2, 2, min)
maxm <- apply(iris2, 2, max)
现在 boxplot
创建 bxp
使用的数据结构,matrix
。
bp <- boxplot(iris2, plot = FALSE)
并用之前计算的值填充矩阵。
bp$stats <- matrix(c(
minm,
ci1,
mn,
ci2,
maxm
), nrow = 5, byrow = TRUE)
最后,绘制它。
bxp(bp)
我正在尝试使用已计算的置信区间以及最小值和最大值在 R 中生成箱线图。对于时间 1、2、3、4、5(x 轴),我有 MN 表示 5 个元素的数组,每个元素描述时间点的平均值。我还有 CI1、CI2、MINIM 和 MAXM,每个都是 5 个元素的数组,每个时间步长一个,代表上部 CI、下部 CI , 最小值和最大值。 我想在每个时间步生成 5 个箱线图条。
我已经尝试了通常的箱线图函数,但我可以让它与已经计算出的 CIs 和 min max.
一起工作如果该方法适用于普通绘图函数,那就太好了,不过 ggplot 也可以。
由于您没有发布数据,我将使用内置 iris
数据集,保留前 4 列。
data(iris)
iris2 <- iris[-5]
函数 boxplot
计算它使用的统计数据,然后调用 bxp
进行打印,将这些计算值传递给它。
如果你想要一组不同的统计数据,你将不得不计算它们并将它们手动传递给 bxp
。
我假设 CI 是指正常的 95% 置信区间。为此,您需要先计算标准误差和平均值。
s <- apply(iris2, 2, sd)
mn <- colMeans(iris2)
ci1 <- mn - qnorm(0.95)*s
ci2 <- mn + qnorm(0.95)*s
minm <- apply(iris2, 2, min)
maxm <- apply(iris2, 2, max)
现在 boxplot
创建 bxp
使用的数据结构,matrix
。
bp <- boxplot(iris2, plot = FALSE)
并用之前计算的值填充矩阵。
bp$stats <- matrix(c(
minm,
ci1,
mn,
ci2,
maxm
), nrow = 5, byrow = TRUE)
最后,绘制它。
bxp(bp)