我从一组100个基因开始,这些基因最常见于某种生物物质中,这个名单叫做#top; 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,因此对于每个基因符号,我希望两个noramlised计数值都绘制在哪里
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))
如何绘制这些值?
答案 0 :(得分:1)
您可以使用tidyr和收集功能首先将数据重新整形为长格式,然后使用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