R-双因子ggplot2条形图

R-双因子ggplot2条形图,r,ggplot2,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 我总是可以改变数据的形状以使其工作,但我想知道是否有更简单的方法来实现这一点。我

我有一个数据帧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

我总是可以改变数据的形状以使其工作,但我想知道是否有更简单的方法来实现这一点。我在其他线程中看到了一些类似的东西,但没有一个是完全正确的

非常感谢你的帮助

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)
密谋


我可能不够努力,但我很难在你的数据中找到.6。“A有两个独立的栏”是什么意思?非常感谢您的帮助。这一切看起来都很好,但当我运行它时,我得到一个:Error:n应该只在数据上下文中调用。我也可以尝试指定package-例如,dplyr::summary和dplyr::nI通过指定:dplyr::summary再次感谢来纠正它。现在看起来很漂亮。