如何用数据子集数据?
问题描述:
我有这样的数据列表:如何用数据子集数据?
name Date
MANHATTAN STRIKER (V141) 30/11/2016
MANHATTAN STRIKER (V141) 16/11/2016
MANHATTAN STRIKER (V141) 26/10/2016
MANHATTAN STRIKER (V141) 28/9/2016
YOURTHEWONFORME (T258) 30/11/2016
YOURTHEWONFORME (T258) 9/11/2016
YOURTHEWONFORME (T258) 26/10/2016
FOREVER FUN (S130) 30/11/2016
FOREVER FUN (S130) 16/11/2016
FOREVER FUN (S130) 26/10/2016
FOREVER FUN (S130) 12/10/2016
如何我写R中的脚本只是列出每个名字,在每个日期最新的两个日期? 造成这样的:
name Date
MANHATTAN STRIKER (V141) 30/11/2016
MANHATTAN STRIKER (V141) 16/11/2016
YOURTHEWONFORME (T258) 30/11/2016
YOURTHEWONFORME (T258) 9/11/2016
FOREVER FUN (S130) 30/11/2016
FOREVER FUN (S130) 16/11/2016
答
我们可以使用dplyr
。通过“名称”分组后,“日期”转换为Date
类,arrange
降序排列,并slice
前两排
library(dplyr)
df1 %>%
group_by(name) %>%
arrange(desc(as.Date(Date, "%d/%m/%Y"))) %>%
slice(1:2)
尝试'库(dplyr); df1%>%group_by(name)%>%arrange(desc(as.Date(Date,“%d /%m /%Y”)))%>%slice(1:2)' – akrun
'dplyr :: top_n (Date,asDate(Date,'%d /%m /%Y'))%>%group_by(name)%>%top_n(2,Date)''方便:'df% – alistaire