R 如何使用ggplot2为每列创建条形图?
我知道这很简单,如果已经有人问过我,我很抱歉。我是R的新手。我希望使用ggplot2从当前数据帧创建条形图 我的数据框看起来像这样R 如何使用ggplot2为每列创建条形图?,r,ggplot2,bar-chart,R,Ggplot2,Bar Chart,我知道这很简单,如果已经有人问过我,我很抱歉。我是R的新手。我希望使用ggplot2从当前数据帧创建条形图 我的数据框看起来像这样 10 uM ATR 10 uM N 10 uM P 0 1 4 6 0 1 2 10 2 0 3 0 7
10 uM ATR 10 uM N 10 uM P
0 1 4
6 0 1
2 10 2
0 3 0
7 0 0
1 1 0
您可以从
tidyverse
组合使用tidyr
、dplyr
和ggplot2
:
library(tidyr)
library(dplyr)
library(ggplot2)
df %>%
pivot_longer(cols = everything(), names_to = "var") %>%
group_by(var) %>%
summarise(mean_var = mean(value), sd_var = sd(value)) %>%
ggplot(aes(x = var, y = mean_var, fill = var)) +
geom_col(colour = "black", lwd = 2,
fill = c("black", "lightgray", "gray"), show.legend = FALSE) +
geom_errorbar(aes(ymin = mean_var, ymax = mean_var+sd_var), width = 0.2) +
labs(x = "", y = "Number of cells")
有关错误条的信息,您可以查看
数据
df <- structure(list(`10_uM_atropine` = c(0, 6, 2, 0, 7, 1), `10_uM_NE` = c(1,
0, 10, 3, 0, 1), `10_uM_PHE` = c(4, 1, 2, 0, 0, 0)), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
df您可以通过组合tidyr
、dplyr
和ggplot2
从tidyverse
执行此操作:
library(tidyr)
library(dplyr)
library(ggplot2)
df %>%
pivot_longer(cols = everything(), names_to = "var") %>%
group_by(var) %>%
summarise(mean_var = mean(value), sd_var = sd(value)) %>%
ggplot(aes(x = var, y = mean_var, fill = var)) +
geom_col(colour = "black", lwd = 2,
fill = c("black", "lightgray", "gray"), show.legend = FALSE) +
geom_errorbar(aes(ymin = mean_var, ymax = mean_var+sd_var), width = 0.2) +
labs(x = "", y = "Number of cells")
有关错误条的信息,您可以查看
数据
df <- structure(list(`10_uM_atropine` = c(0, 6, 2, 0, 7, 1), `10_uM_NE` = c(1,
0, 10, 3, 0, 1), `10_uM_PHE` = c(4, 1, 2, 0, 0, 0)), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
df