首页 文章

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

提问于
浏览
1

我是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

    tidyverse 使用 tidyr

    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)
    

相关问题