我有一个问题,我希望有人可以帮助我。这基本上是数据处理。我有一个由10列,“id”和3组类似变量,“type”,“startdate”和“enddate”组成的大数据集。一个例子可以在下面看到。R:如何根据属性值(日期)逐行进行组排序?
id type1 startdate1 enddate1 type2 startdate2 enddate2 type3 startdate3
1 1 A 2006-08-20 2006-12-06 W 2006-08-01 2007-08-29 P 2007-08-18
2 2 A 2006-01-05 2007-07-02 NA NA NA Q 2008-01-15
enddate3
1 2007-09-27
2 2008-02-07
我想获得以下清洗和分类数据集:根据“开始日期”的每一行/观测
id type1 startdate1 enddate1 type2 startdate2 enddate2 type3 startdate3
1 1 W 2006-08-01 2007-08-29 A 2006-08-20 2006-12-06 P 2007-08-18
2 2 A 2006-01-05 2007-07-02 Q 2008-01-15 2008-02-07 NA NA
enddate3
1 2007-09-27
2 NA
我想按升序进行排序。因此,对于第1行,由于与第一组的“开始日期”(2006-08-20)相比,第二组或一组变量具有较早的“开始日期”(2006-08-01),因此我会将其置于第一组位置。
至于第2行,我想推动所有的NAs到最后。
关于如何有效地做到这一点的任何提示?
我应该将数据类型“startdate”和“enddate”转换为数字吗?如果我应该,我该如何处理“不适用”?
是否明智地将paste()函数应用于(type,startdate,enddate)所有3组?
感谢任何帮助!先谢谢你!
我*,你要推依赖于日期JUST *锯。我认为你基本上是在问两个问题 - 1):如何推动和2):如何排序。我只回答了第一个问题。 – Therkel
非常感谢!这看起来非常有用,因为我的数据集非常稀少,而且我确实需要将NA推向右侧。 – HNSKD