首页 > 解决方案 > R - 两个因素 ggplot2 条形图

问题描述

我有一个包含两个因素的数据框(df):

f1,f2,value,    
A, 1, .5,
A, 1, .7,
A, 2, .2,
A, 2, .4,
B, 1, .3,
B, 1, .5,
B, 2, .1,
B, 2, .3,

我想表示这些数据,其中“f1”在 x 轴上,数据由“f2”分解,2 个条表示“值”的平均值,sd 误差条按因子“f2”表示。

即“A”有两个单独的列(.6 & .3)和“B”;同样 (.4 & .2) 与关联误差线。

我总是可以重塑数据以尝试使其工作,但我想知道是否有更简单的方法来解决这个问题。我在其他线程中看到了一些类似的东西,但没有什么能很好地工作。

非常感谢你们的帮助!

标签: rggplot2

解决方案


library(tidyverse)
library(ggplot2)

df %>%
  group_by(f1, f2) %>%
  summarise(mean = mean(value),
            SD = sd(value),
            n = n(),
            SE = SD/sqrt(n)) %>%
  ggplot(aes(x = f1, y = mean, group = f2, fill = f2)) +
    geom_bar(stat = "identity", position = "dodge", width = .5) +
    geom_errorbar(aes(ymax = mean + SE, ymin = mean - SE), position = position_dodge(.5), width = .2)

阴谋

基于汇总数据的绘图


推荐阅读