我在R中有一个均值矩阵,想要对列进行排序,以便按特定顺序绘制它们。我遇到的问题是其中一列没有按照我想要的方式获得订单。 这是订购前的矩阵:
DMSO INH INHLPA LPA Y27362 Y27363LPA
2 0.2220375 0.44090 0.4572625 0.4551429 0.262525 0.1912250
3 0.6852125 0.46985 0.4550250 0.4305714 0.246875 0.3527375
订购此矩阵的命令是:
medias.prop <- as.matrix(as.data.frame(medias.prop)[, order(c("DMSO", "LPA", "Y27362", "Y27363LPA", "INH", "INHLPA"))])
我得到的矩阵是:
DMSO Y27362 Y27363LPA INH INHLPA LPA
2 0.2220375 0.262525 0.1912250 0.44090 0.4572625 0.4551429
3 0.6852125 0.246875 0.3527375 0.46985 0.4550250 0.4305714
请注意,“LPA”列位于最后一位,我希望它位于第二位。 我不知道如何按照我想要的方式订购。 有什么建议吗?
谢谢,jose。
答案 0 :(得分:0)
试试这个(使用data.frame而不是矩阵,但应该相同):
medias.prop <- read.table(header=TRUE, text=
" DMSO INH INHLPA LPA Y27362 Y27363LPA
2 0.2220375 0.44090 0.4572625 0.4551429 0.262525 0.1912250
3 0.6852125 0.46985 0.4550250 0.4305714 0.246875 0.3527375")
medias.prop[,c("DMSO", "LPA", "Y27362", "Y27363LPA", "INH", "INHLPA")]
结果:
> medias.prop[,c("DMSO", "LPA", "Y27362", "Y27363LPA", "INH", "INHLPA")]
DMSO LPA Y27362 Y27363LPA INH INHLPA
2 0.2220375 0.4551429 0.262525 0.1912250 0.44090 0.4572625
3 0.6852125 0.4305714 0.246875 0.3527375 0.46985 0.4550250