如何生成条形图,其列名沿X轴,行名为Y轴?

需要一些帮助!!

所以我一直在尝试绘制一些数据,并且在这里的其他地方找到了一些解决方案,但是它们似乎对我没有用。我正在处理的一些数据的示例是;


Sample_ID   Sample_Delivery   Organism   AMIK  AMC AMP FOV FAZ  pod
85          21/08/2018        E.COL      1.4    4   4   2   2   1.4
86          21/08/2018        E.COL      1.4    4   3   1   2   1.4
87          21/08/2018        E.COL      1.4    5   5   3   2   1.4
88          21/08/2018        E.COL      1.4    5   5   2   2   1.4
119         21/08/2018        E.COL      1.4    4   4   2   2   1.4
120         21/08/2018        E.COL      1.4    4   4   2   2   1.4
200         21/08/2018        E.FAEL       7    2   2   7   6   7
201         21/08/2018        E.FAEL       7    2   3   7   6   5.6
203         21/08/2018        E.FAEL       7    2   3   7   6   7
204         21/08/2018        E.FAEL       7    2   3   7   6   7
206         21/08/2018        E.FAEL       7    2   3   7   6   7
207         21/08/2018        E.FAEL       7    2   2   7   6   7
435         06/11/2018        E.FAEM       7    2   3   7   7   7
436         06/11/2018        E.FAEM     5.6    2   3   7   7   7
437         06/11/2018        E.FAEM     5.6    2   3   7   7   7
438         06/11/2018        E.FAEL       7    2   3   7   6   7
439         06/11/2018        E.FAEM       7    2   3   7   7   7
440         06/11/2018        E.FAEM     5.6    3   4   7   7   7 

我希望能够以条形图的形式在x轴上绘制AMIK:pod的列标题,并在Y轴上绘制相应的值,并且可以对图进行分面/过滤,因此您可以每条线有一个图?例如,有21个2018年8月21日的6个大肠杆菌样本的图?

我希望我已经对此进行了解释,并且示例数据也不错。

任何会帮助沮丧的R用户摆脱困境的东西将不胜感激! :)

qqliujiaolong 回答:如何生成条形图,其列名沿X轴,行名为Y轴?

ggplot最适合与包含要显示的值的单个变量以及控制x和y轴,颜色,构面等的多个其他变量配合使用。因此,制作ggplot的第一步通常是将数据重整为长格式。

然后轻松绘制情节。请注意,geom_bar创建的图显示了每个组中观察值的数量,而geom_col显示了每个观察值的值。

library(tidyverse)

# Use dput() on your dataframe to get something easily reproducible next time
# or distill your question to something that can be worked on using one of the 
# standard datasets like cars,diamonds,iris,etc.

x <- (
"Sample_ID   Sample_Delivery   Organism   AMIK  AMC AMP FOV FAZ  POD
85          21/08/2018        E.COL      1.4    4   4   2   2   1.4
86          21/08/2018        E.COL      1.4    4   3   1   2   1.4
87          21/08/2018        E.COL      1.4    5   5   3   2   1.4
88          21/08/2018        E.COL      1.4    5   5   2   2   1.4
119         21/08/2018        E.COL      1.4    4   4   2   2   1.4
120         21/08/2018        E.COL      1.4    4   4   2   2   1.4
200         21/08/2018        E.FAEL       7    2   2   7   6   7
201         21/08/2018        E.FAEL       7    2   3   7   6   5.6
203         21/08/2018        E.FAEL       7    2   3   7   6   7
204         21/08/2018        E.FAEL       7    2   3   7   6   7
206         21/08/2018        E.FAEL       7    2   3   7   6   7
207         21/08/2018        E.FAEL       7    2   2   7   6   7
435         06/11/2018        E.FAEM       7    2   3   7   7   7
436         06/11/2018        E.FAEM     5.6    2   3   7   7   7
437         06/11/2018        E.FAEM     5.6    2   3   7   7   7
438         06/11/2018        E.FAEL       7    2   3   7   6   7
439         06/11/2018        E.FAEM       7    2   3   7   7   7
440         06/11/2018        E.FAEM     5.6    3   4   7   7   7")

raw <- readr::read_table(x)

long <- raw %>% 
  pivot_longer(AMIK:POD,names_to = "variable",values_to = "value")

ggplot(data = long %>% filter(Sample_Delivery == "21/08/2018"),aes(x = variable,y = value)) +
  geom_col() + 
  facet_wrap(.~ Sample_ID)
本文链接:https://www.f2er.com/3108457.html

大家都在问