使用R绘制分类数据
我有一个蛋白质名称列表(P1,P2,…,Pn),根据三种实验条件(Exp1,Exp2和Exp3)的测量,它们被分为三种不同的表达水平高(H),中(M)和低(L)。 我想画一个图,如图的底部所示,左边的蛋白质名称和沿着顶部和高、中、低类别的实验名称分别用红色、蓝色和绿色表示 我是R的新手,我非常感谢您的帮助使用R绘制分类数据,r,plot,ggplot2,bioinformatics,R,Plot,Ggplot2,Bioinformatics,我有一个蛋白质名称列表(P1,P2,…,Pn),根据三种实验条件(Exp1,Exp2和Exp3)的测量,它们被分为三种不同的表达水平高(H),中(M)和低(L)。 我想画一个图,如图的底部所示,左边的蛋白质名称和沿着顶部和高、中、低类别的实验名称分别用红色、蓝色和绿色表示 我是R的新手,我非常感谢您的帮助 提前感谢您可以使用如下格式的数据创建文件(以制表符分隔): 并使用以下命令抓取并绘制它们: mat这里有一种方法,它使用了ggplot2和restrape2包的一些魔力 首先,按照您描述的格
提前感谢您可以使用如下格式的数据创建文件(以制表符分隔):
并使用以下命令抓取并绘制它们:
mat这里有一种方法,它使用了ggplot2
和restrape2
包的一些魔力
首先,按照您描述的格式重新创建数据:
df <- data.frame(
P = paste("P", 1:4, sep=""),
Exp1 = c("L", "H", "L", "M"),
Exp2 = c("M", "M", "L", "H"),
Exp3 = c("H", "L", "L", "M"))
然后,使用melt()
将数据从宽格式转换为高格式。id变量是“P”,我们告诉函数将“变量”重命名为“Exp”:
最后,我们准备绘制您的数据:
ggplot(mdf, aes(x=Exp, y=P, colour=value)) +
geom_point(size=3) +
scale_colour_manual(value=c("red", "green", "blue")) +
xlab("") +
ylab("")
使用with()比使用attach()更安全:with(mat,plot(pv~exp,col=val))您使用的是公式,因此请提供参数数据,而不是with()或attach()。
library(reshape2)
library(ggplot2)
mdf <- melt(df, id.vars="P", variable="Exp")
mdf$value <- factor(mdf$value, levels=c("H", "M", "L"), ordered=TRUE)
ggplot(mdf, aes(x=Exp, y=P, colour=value)) +
geom_point(size=3) +
scale_colour_manual(value=c("red", "green", "blue")) +
xlab("") +
ylab("")