如何更改R中的数据框(按日期提取所有ID的第一行)

时间:2016-07-13 20:53:48

标签: r dataframe

我想像这样更改我的数据框。我怎么能在R?我需要双For个循环来实现这个目标吗? (无论他在一天内完成多少次旅行,只需提取第一份历史记录)

ID  DATE        Origin 
1   01/01/2012  A
1   01/01/2012  B
1   01/01/2012  C
1   01/02/2012  A
1   01/02/2012  B
1   01/02/2012  C
1   01/03/2012  A
1   01/03/2012  B
1   01/08/2012  A
2   01/01/2012  D
2   01/01/2012  C
2   01/01/2012  B
2   01/04/2012  D
2   01/04/2012  C
2   01/06/2012  D
3   01/03/2012  F
3   01/03/2012  G
3   01/09/2012  F
3   01/09/2012  G


 ID DATE        Origin
    1   01/01/2012  A
    1   01/02/2012  A
    1   01/03/2012  A
    1   01/08/2012  A
    2   01/01/2012  D
    2   01/04/2012  D
    2   01/06/2012  D
    3   01/03/2012  F
    3   01/09/2012  F

(我只想保留这样的记录↑) (每位乘客的第一次旅行记录)

3 个答案:

答案 0 :(得分:0)

不需要循环。这是最简单的方法

df <- df[which(df$origin=="A"|df$origin=="D"|df$origin=="F"),]

您也可以使用dplyr

答案 1 :(得分:0)

我想你想要这个?

{{1}}

答案 2 :(得分:0)

First_Daily = aggregate(ORIGIN ~ ID + DATE, data=df, FUN='[', i=1)

这是正确答案