可能重复:
如何按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等函数重新组织数据集,但我必须承认我并不真正理解它们之间的差异,也不知道如何应用哪些以及何时应用.
谢谢你的建议.
您可以使用该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的形状,例如将其从宽格式转换为高格式.这不是这里所要求的.