从 R 中的 ggplot 生成统计摘要

Generating Statistics Summary from a ggplot in R

我是一名 R 新手,正在使用我的教授提供的脚本从事项目工作,但我无法获得与我创建的箱线图相匹配的数据的准确均值。该图中的平均值低于每根茎 300 千克,而我使用

时得到的平均值

ggsummarystats( DBHdata, x = "location", y = "biomassKeith_and_Camphor", ggfunc = ggboxplot, add = "jitter" )

tapply(DBHdata$biomassBrown_and_Camphor, DBHdata$location, mean)

我最终的收入超过 600 kg/stem。有没有办法在我的箱形图的代码中生成汇总统计数据。

Box and Whisker plot of kg per stem

箱线图不包含平均值,而是包含中位数。所以这可以解释您在计算中观察到的变化。

此外,数据似乎非常偏向于大数,因此尽管中位数约为 200,但平均值超过 600 并不令人惊讶

正如其他人指出的那样,箱线图显示了每个默认值的中位数。 如果你想用 ggstatsplot 得到平均值,你可以改变你用 summaries 参数调用的函数,像这样:

ggsummarystats(DBHdata, x = "location", y = "biomassKeith_and_Camphor",
ggfunc = ggboxplot, add = "jitter", summaries = c("n", "median", "iqr", "mean"))

这将在 n、中位数和四分位数间距 (iqr) 的标准输出之外添加均值。

我不确定我是否正确理解了你的问题,但首先尝试使用聚合计算组均值,然后添加带有均值的文本。

示例代码:

means <- aggregate(weight ~  group, PlantGrowth, mean)

library(ggplot2)
    ggplot(PlantGrowth, aes(x=group, y=weight, fill=group)) + 
    geom_boxplot() +
      stat_summary(fun=mean, colour="darkred", geom="point", 
                   shape=18, size=3, show.legend=FALSE) + 
      geom_text(data = means, aes(label = weight, y = weight + 0.08))

剧情:

示例数据:

data(PlantGrowth)