R:在data.frame中排序两次

时间:2015-05-30 12:56:28

标签: r

我有以下data.frame X(样本):

  VariableA     VariableB   VariableC
1    0            A                13
2    0            B                10
3    1            B                 1
4  1.5            C                 1
5   10            A                64
6   10            B                 1
7   5             C                 3

我希望先将数据排序到VariableB,然后再追溯到VariableA。为了更清楚,我的输出应该是这样的:

  VariableA     VariableB   VariableC
1    0            A                13
5   10            A                64
2    0            B                10
3    1            B                 1
6   10            B                 1
4  1.5            C                 1
7   5             C                 3

我尝试了以下内容:

Output <- X[order(X$VariableB,X$VariableA),]

仅对VariableB进行排序。 (附加信息:VariableAVariableB都属于因素类型。

2 个答案:

答案 0 :(得分:0)

您可以将第一个变量转换为“数字”,将第二个变量转换为order中的“字符”,它应该可以正常工作

df1[order(as.character(df1$VariableB), as.numeric(as.character(df1$VariableA))),]

答案 1 :(得分:0)

使用dplyr包使用

arrange(x, VariabeB, VariableA)