为具有多个列的dataframe绘制条形图

为具有多个列的dataframe绘制条形图,r,ggplot2,R,Ggplot2,我有一个数据帧: ID Mean Min Max A 10 4 18 B 20 6 22 C 12 2 78 我想在x轴上绘制一个ID为的条形图,其中每个ID上都有带平均最小值和最大值的条形图。我如何才能做到这一点?使用ggplot,类似的方法可能会奏效: g <- ggplot(DF,aes(x=ID,y=Mean)) g + geom_bar(stat = "identity")+ geom_errorbar(aes(ymin=Min,

我有一个数据帧:

ID  Mean Min Max
A   10    4   18
B   20    6   22
C   12    2   78

我想在x轴上绘制一个ID为的条形图,其中每个ID上都有带平均最小值和最大值的条形图。我如何才能做到这一点?

使用ggplot,类似的方法可能会奏效:

g <- ggplot(DF,aes(x=ID,y=Mean))
g + geom_bar(stat = "identity")+
  geom_errorbar(aes(ymin=Min, ymax=Max), width=.05)

g可能类似这样,编辑数据:

library(tidyverse)

dat %>%
  # data from wide to long format
  gather(variable, value, -ID) %>%
  ggplot(aes(x = ID, y = value, fill = reorder(variable, value))) +
  geom_bar(stat = 'identity', position = 'dodge')


关于数据:

dat <- read.table(text =" ID  Mean Min Max
A   10    4   18
B   20    6   22
C   12    2   78", header = T)

dat请更正您的代码。在它的末尾有额外的