我有一个大型的数据集,其中包含蛋白质I和对应的多个凝胶组分的丰度分布。我想画出这些分数上丰度的分布图。
数据如下所示
IDs<- c("prot1", "prot2", "prot3", "prot4")
fraction1 <- c(3,4,2,4)
fraction2<- c(1,2,4,1)
fraction3<- c(6,4,6,2)
plotdata<-data.frame(IDs, fraction1, fraction2, fraction3)
> plotdata
IDs fraction1 fraction2 fraction3
1 prot1 3 1 6
2 prot2 4 2 4
3 prot3 2 4 6
4 prot4 4 1 2
我希望它看起来像这样:
每种蛋白质都有自己的特征。每一组分的每个蛋白质都有一个相应的丰度值。我希望每个图都有多个蛋白质。
我试着用小抄找出ggplot2,但失败了。我不知道输入df应该是什么样子,以及我应该使用什么方法来获取这些配置文件。
我会使用excel,但是一个bug根据数据的顺序绘制了错误的数据配置文件,所以我不能相信它会做我想做的事情。
发布于 2018-01-26 19:47:53
首先,您必须为ggplot2重新组织您的data.frame。您可以使用reshape2::melt
一步完成此操作。您可以在此处更改“变量”和“值”名称。
library(reshape2)
library(dplyr)
library(ggplot2)
data2 <- melt(plotdata, id.vars = "IDs")
然后,我们将按蛋白质对数据进行分组:
data2 <- group_by(data2, IDs)
最后,您可以非常简单地绘制它:
ggplot(data2) +
geom_line(aes(variable, value, group = IDs,
color = IDs))
https://stackoverflow.com/questions/48460209
复制相似问题