正如标题所说,我一方面有一个包含行和列的数据表。 该表的标题包含样本名称(例如:A B C D E F G),该表包含数千行。
另一方面,我有一个列表(因子)的组(例如:group3,group2,group3,group1,group2,group3,group1,group3)有3个因素,因为列表的组对应于样本表格的标题:
A在group3中 B在第2组中 C在第3组中 D在第1组中 等等...
我看到的是使用表中的变量对表进行排序,但我想使用列表对表进行排序,而不包括表中的列表。
最后,我希望将表列排序为: D G B E A C F G
样本名称的名称并不那么重要(所以我们甚至可以举例说:G D B E A F G C,它并不重要),确实重要的是将样本名称排序为对应的组进行排序: group1 group1 group2 group2 group3 group3 group3 group3
当然,必须以相同的方式对列表进行排序,以避免丢失组和样本名称之间的对应关系......
有人有想法吗? 非常感谢你的帮助!
答案 0 :(得分:0)
#sample data
dd <- data.frame(A=1, B=2, C=3, D=4, E=5, F=6, G=7, H=8)
groups <- factor(c("group3","group2","group3","group1",
"group2","group3","group1","group3"))
然后,您可以使用
重新排列data.frame和组dd <- dd[, order(groups)]
groups <- groups[order(groups)]
# D G B E A C F H
# 1 4 7 2 5 1 3 6 8