gpt4 book ai didi

r - ggplot2 盒须图 : show 95% confidence intervals & remove outliers

转载 作者:行者123 更新时间:2023-12-01 19:45:40 25 4
gpt4 key购买 nike

我想要一个如下所示的箱线图。但我想提供(1) 95% 置信区间(2)没有异常值,而不是默认值。

95% 置信区间可能意味着 (i) 扩展方框并移除 mustache ,或 (ii) 仅具有均值和 mustache ,然后移除方框。或者,如果人们对于在这样的图中呈现 95% 置信区间有其他想法,我愿意接受建议。最终目标是在同一图上显示多个类别的数据的平均值和置信区间。

set.seed(1234)
df <- data.frame(cond = factor( rep(c("A","B"), each=200) ),
rating = c(rnorm(200),rnorm(200, mean=.8))
ggplot(df, aes(x=cond, y=rating, fill=cond)) + geom_boxplot() +
guides(fill=FALSE) + coord_flip()

enter image description here

图片和代码来源:http://www.cookbook-r.com/Graphs/Plotting_distributions_(ggplot2)/

最佳答案

我使用以下内容来显示 95% 的间隔。根据我所读到的内容,盒子和晶须的使用并不罕见,但它不是默认设置,因此您确实需要明确在图表中显示的内容。

quantiles_95 <- function(x) {
r <- quantile(x, probs=c(0.05, 0.25, 0.5, 0.75, 0.95))
names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
r
}

ggplot(df, aes(x=cond, y=rating, fill=cond)) +
guides(fill=F) +
coord_flip() +
stat_summary(fun.data = quantiles_95, geom="boxplot")

enter image description here

不要使用 geom_boxplot,而是使用 stat_summary 以及指定您要使用的限制的自定义函数:

  • “ymin”是下须线的下限
  • “lower”是下框的下限
  • “middle” 是盒子的中间(通常是中位数)
  • “upper”是上框的上限
  • “ymax”是上须线的上限。

在提供的函数 (quantiles_95) 中,内置 quantile 函数与自定义 probs 参数一起使用。如给定的,须线将涵盖 90% 的数据:从底部 5% 到顶部 95%。像往常一样,这些框将跨越中间两个四分位数,从 25% 到 75%。

您始终可以更改自定义函数以选择不同的分位数(甚至不使用分位数),但您需要非常小心。正如评论中指出的那样,当人们看到盒子和 mustache 图时,会有一定的期望。如果您使用相同的形状图来传达不同的信息,则可能会让人们感到困惑。

如果您想去除 mustache ,请将 "ymin" 等于 "lower""ymax" 等于到“上”。如果您想要所有 mustache 而没有盒子,请将 "upper""lower" 都设置为 "middle" (或者只使用geom_errorbars)。

关于r - ggplot2 盒须图 : show 95% confidence intervals & remove outliers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21310609/

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