R 如何在ggplot中绘制条形图?

R 如何在ggplot中绘制条形图?,r,ggplot2,R,Ggplot2,我有一个excel文件 我想使用ggplot包在R中创建一个类似于此的绘图 我通过“从excel导入数据集”将此excel文件导入R df1<-as.data.frame(GPPNPPMEAN) > df1 DATA MEAN ..3 1 <NA> GPP NPP 2 MO 0.45 0.4 3 IP 0.21 0.25 4 MP 0.59 0.24 5 CC 0.62 0.25 出错 错误:TIBLE中的所有列必须是1d或2d对象: *

我有一个excel文件

我想使用ggplot包在R中创建一个类似于此的绘图

我通过“从excel导入数据集”将此excel文件导入R

df1<-as.data.frame(GPPNPPMEAN)
> df1
  DATA MEAN  ..3
1 <NA>  GPP  NPP
2   MO 0.45  0.4
3   IP 0.21 0.25
4   MP 0.59 0.24
5   CC 0.62 0.25
出错

错误:TIBLE中的所有列必须是1d或2d对象: *列
fill
为标准通用 调用
rlang::last_error()
查看回溯

数据帧的结构是否正确,以便在Glot中绘制?如何在R中实现此绘图

ggplot(data=df2, aes(x=dose, y=len, fill=supp)) +
geom_bar(stat="identity", position=position_dodge())+
  geom_text(aes(label=len), vjust=1.6, color="white",
            position = position_dodge(0.9), size=3.5)+
  scale_fill_brewer(palette="Paired")+
  theme_minimal()
该代码帮助您创建以下条形图。您可以根据需要更改值

您应该像准备excel一样准备数据

不要像您在问题中所显示的那样提供两个标题。然后另存为.csv文件中的excel文件,您可以使用以下代码读取csv

df1 <- read.csv("Book1.csv", check.names = F)

df.m <- reshape2::melt(df1)

my_se <- df.m %>%
  group_by(DATA) %>%
  summarise(n=n(),
            sd=sd(value),
            se=sd/sqrt(n))

df.m %>% 
  left_join(my_se) %>% 
  ggplot(aes(x = DATA, y = value, fill = variable)) + 
  geom_bar(stat="identity", position = "dodge")+
  geom_errorbar(aes(x=DATA, ymin=value-se, ymax=value+se), width=0.4, position = position_dodge(.9))+
  theme_minimal()
df1%
左加入(我的se)%>%
ggplot(aes(x=数据,y=值,fill=变量))+
几何图形栏(stat=“identity”,position=“dodge”)+
几何误差条(aes(x=数据,ymin=值se,ymax=值+se),宽度=0.4,位置=位置减淡(.9))+
主题_极小值()

df1 <- read.csv("Book1.csv", check.names = F)

df.m <- reshape2::melt(df1)

my_se <- df.m %>%
  group_by(DATA) %>%
  summarise(n=n(),
            sd=sd(value),
            se=sd/sqrt(n))

df.m %>% 
  left_join(my_se) %>% 
  ggplot(aes(x = DATA, y = value, fill = variable)) + 
  geom_bar(stat="identity", position = "dodge")+
  geom_errorbar(aes(x=DATA, ymin=value-se, ymax=value+se), width=0.4, position = position_dodge(.9))+
  theme_minimal()