这可能非常简单。
使用dplyr
和 group_by(users)
,如果我在组中使用类似 filter(Date[1] == "01-14-15")
的东西,它会找到第一次约会为 01-14-15 的用户。
如何设置它,以便它找到用户的最后一个日期而不是他们的第一个日期?
filter(Date[1] == "01-14-15")
:查找具有第一个日期大小写的用户
filter(Date[?] == "01-14-15")
:查找具有最后一个日期大小写的用户?
如果我们需要filter
每组的最后一行也与特定日期相同,那么我们可以使用
library(dplyr)
group_by(df1, Users) %>%
filter(row_number()==n() & Date=='2012-01-03')
或者,如果您需要获取最后一个"日期"与特定日期相同的组的所有行,则
group_by(df1, Users) %>%
filter(Date[n()]=='2012-01-01')
数据
set.seed(24)
df1 <- data.frame(Users=sample(LETTERS[1:4], 20, replace=TRUE),
Date= sample(seq(as.Date('2012-01-01'), length.out=4, by='1 day'),
20, replace=TRUE), stringsAsFactors=FALSE)