我想像这样更改我的数据框。我怎么能在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
(我只想保留这样的记录↑) (每位乘客的第一次旅行记录)
答案 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)
这是正确答案