如何在R语言中以我的特定“向量”顺序排序data.frame?

时间:2016-10-11 08:58:50

标签: r

我有一个data.frame显示如下:

enter image description here

为了分析这10个特征与无序倾向之间的关系,我需要按照我的氨基酸顺序对data.frame进行排序,该数据存储在像c("L", "I", "V", "Y", "C", "F", "R", "W", "M", "H", "N", "T", "G", "D", "Q", "A", "K", "S", "P", "E")这样的载体中

我尝试了properties[aa == c("L", "I", "V", "Y", "C", "F", "R", "W", "M", "H", "N", "T", "G", "D", "Q", "A", "K", "S", "P", "E"), ]这似乎对我不起作用。

以“向量”顺序对data.frame进行排序的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以将列aa作为一个因素,并按正确的顺序给出因子级别。然后可以根据级别对因子进行排序。看看这个例子:

my_order <- c("X", "Y", "Z", "A", "B")  # defines the order

test <- c("A", "B", "Y", "Z", "Z", "A", "X", "X", "B")  # a normal character vector

test2 <- factor(test, levels = my_order)  # convert it to factor and specify the levels

test2  # original order unchanged

test2[order(test2)]  # ordered by custom order

请注意,您必须指定所有发生的因子级别,否则这将无效!