我有以下数据框 DF,描述了在某些日期从事项目工作的人:
ID ProjectName StartDate
1 Health 3/1/06 18:20
2 Education 2/1/07 15:30
1 Education 5/3/09 9:00
3 Wellness 4/1/10 12:00
2 Health 6/1/11 14:20
目标是找到每个 ID 对应的第一个项目。例如,预期的输出如下:
ID ProjectName StartDate
1 Health 3/1/06 18:20
2 Education 2/1/07 15:30
3 Wellness 4/1/10 12:00
到目前为止,我已完成以下操作以获取每个 ID 的第一个 StartDate:
sub <- ddply(DF, .(ID), summarise, st = min(as.POSIXct(StartDate)));
在此之后,我需要将 sub 中的每一行与原始 DF 匹配,并提取与该 ID 和 StartDate 对应的项目。这可以在 sub 中的每一行循环中完成。但是,我的数据集非常大,我想知道是否有一种有效的方法来进行这种匹配并从 DF 中提取这个子集。