在R中收集多个列,然后创建Boxplot

时间:2017-05-16 19:03:29

标签: r

我是R的新手,并试图制作一个箱形图。我有一个包含18个变量和近20 000行的数据集。看起来像这样:

1 EnsemblID GeneName   Sample1A   Sample1B   Sample2A   Sample2B       
2 ENSG00000180096   ABCD   0.000000   0.378398   0.256493   0.488798   
3 ENSG00000247626   ACED  20.770695  17.456049  19.066029  17.960966  

我想为每个基因制作一个boxplot(列GeneName),样本1的值在一个框(1A,1B)中,样本2在另一个框中(2A,2B)。实际上,我有三组,每组5-6个重复。我如何融入像这样的高数据框架?

1 GeneName Group Value  
2 ABCD Sample1A 0.000000  
3 ABCD Sample1B 0.378398  
4 ABCD Sample2A 0.256493  
5 ABCD Sample2B 0.488798    
6 ACED Sample1A 20.770695   
7 ACED Sample1B 17.456049    
8 ACED Sample2A 19.066029  
9 ACED Sample2B 17.960966

如何制作一个箱线图来显示每组内和每组之间每个基因的变异?

非常感谢任何帮助! 谢谢!

1 个答案:

答案 0 :(得分:0)

使用tidyr

中的tidyverse
df <- read.table(header = T, text ="
1 EnsemblID GeneName Sample1A Sample1B Sample2A Sample2B
2 ENSG00000180096 ABCD 0.000000 0.378398 0.256493 0.488798
3 ENSG00000247626 ACED 20.770695 17.456049 19.066029 17.960966
")

library(tidyr)

df <- gather(df, Group, Value, Sample1A:Sample2B)
boxplot(Value ~ Group, df)