【问题标题】:How do I plot multiple columns on the X-axis in R?如何在 R 的 X 轴上绘制多列?
【发布时间】:2015-11-24 14:12:02
【问题描述】:

我从一组 100 个最常见于某种生物物质中的基因开始,这个列表称为“top100”。使用 MERGE,我设法从每个样本的该数据集中获取这 100 种蛋白质中的每一种的计数。我想绘制每个样本的每个单独蛋白质的计数。

所以基本上我想要一个图显示例如:蛋白质:PKM,然后为每个样本(在本例中为 N = 2)绘制计数,而不是我想对单个图中的所有 100 种蛋白质重复此过程.

            row.names   Gene.Symbol     Normalised.count.(B)        Normalised.count.(A)
    1           1           A2M             46.073855                   280.736354
    2           5           ACTN4           0.000000                    10.436296
    3           8           ALDOA           39.354751                   61.574145
    4           9           ANXA1           1.919744                    1.043630
    5           13          ANXA5           8.638848                    0.000000
    6           17          BSG             5.759232                    1.043630
    7           22          CD81            1.919744                    2.087259
    8           23          CD9             2.879616                    4.174518
    9           25          CFL1            5.759232                    10.436296
    10          26          CLIC1           1.919744                    10.436296

这是总列表的 1/10,因此对于每个基因符号,我希望将两个标准化计数值绘制在哪里

X1 = 基因符号 y= normalised.count.(A)

X2= 基因符号 y= normalised.count.(B)

这是我到目前为止排序到最终列表的内容。

 library("openxlsx") 
 library("dplyr")
 library("ggplot2")
 library('reshape2')
 library('gdata')

 protein_report <- read.xlsx(file.choose(), sheet=1)
 top100 <- read.xlsx(file.choose(), sheet=1)

 norm <- matchcols(protein_report,with = "Norm")
 top <- na.omit(merge(top100, protein_report[c("Gene.names",norm)], by.x="Gene.Symbol",by.y="Gene.names", all.x = T, all.y = F))     

如何绘制这些值?

【问题讨论】:

    标签: r multiple-columns


    【解决方案1】:

    你可以使用tidyr和gather函数首先将数据重新整形为长格式,然后用ggplot绘制它

    library(tidyr)
    library(ggplot2)
    
    plotData <- protein_report %>% gather(type,Normalised.count,
                                          Normalised.count.A,Normalised.count.B)
    
    ggplot(plotData,aes(x=Gene.Symbol,y=Normalised.count,color=type) + 
           geom_line()    ## For a line plot 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 2021-06-10
      • 2021-08-12
      • 2016-01-11
      • 1970-01-01
      相关资源
      最近更新 更多