重新排序和重新整理R中的列

Sno*_*rog 2 r

可能重复:
如何按R中的列对数据帧进行排序

我有一个如下所示的数据集:

x       y     z
1.      1     0.2
1.1     1     1.5
1.2     1     3.
1.      2     8.1
1.1     2     1.0
1.2     2     0.6
Run Code Online (Sandbox Code Playgroud)

我想要的是首先将数据集作为x的函数按递增顺序组织,然后作为y的函数来组织

x       y      z 
1.      1      0.2
1.      2      8.1
1.1     1      1.5
1.1     2      1.
1.2     1      3.
1.2     2      0.6
Run Code Online (Sandbox Code Playgroud)

我知道apply,mapply,tapply等函数重新组织数据集,但我必须承认我并不真正理解它们之间的差异,也不知道如何应用哪些以及何时应用.

谢谢你的建议.

And*_*rie 7

您可以使用该order功能订购数据.不需要任何apply家庭功能.

假设您的数据位于data.frame被调用的df中:

df[order(df$x, df$y), ]
    x y   z
1 1.0 1 0.2
4 1.0 2 8.1
2 1.1 1 1.5
5 1.1 2 1.0
3 1.2 1 3.0
6 1.2 2 0.6
Run Code Online (Sandbox Code Playgroud)

请参阅?order更多帮助.


侧面说明:重塑通常是指更改data.frame的形状,例如将其从宽格式转换为高格式.这不是这里所要求的.