[英]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.