繁体   English   中英

如何在R的X轴上绘制多个列?

[英]How do I plot multiple columns on the X-axis in R?

我从一组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 =标准化计数(A)

X2 =基因符号y =标准化计数(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))     

如何绘制这些值?

您可以使用tidyr和collect函数首先将数据重塑为长格式,然后使用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 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM