【问题标题】:Order a data table based on two different columns根据两个不同的列对数据表进行排序
【发布时间】:2020-01-22 16:58:41
【问题描述】:

我很难找到合适的解决方案来解决我的问题。我的数据集有多家公司和时间序列数据。因此,为了进行计算,我需要将数据排序为正确的顺序。我希望数据按一列(数字)排序,然后按第二列(按升序排列的日期)排序。

想象一下数据是这样的:

$gvkey   $datadate
11111    02/01/2010
22222    03/01/2010
22222    02/01/2010
11111    03/01/2010
11111    01/01/2010
22222    01/01/2010

以下是我希望数据外观的示例:

$gvkey   $datadate
11111    01/01/2010
11111    02/01/2010
11111    03/01/2010
22222    01/01/2010
22222    02/01/2010
22222    03/01/2010

所以基本上我希望 R 首先根据“gvkey”列排序,然后根据“datadate”列(日期格式)以升序(从最旧到最新)排序。数据集还包含更多列。

我希望我能够解释我的新手问题,并希望有人能给我一些提示。非常感谢各位!

【问题讨论】:

  • 如果您指的是data.table包,您可以查看?setkey

标签: r datatable data-cleaning


【解决方案1】:
df2 <- df[order(gvkey, datadate),]

我相信您只需要提供列的顺序。

【讨论】:

    最近更新 更多