这可能非常简单。
使用dplyr
和group_by(users)
,如果我在群组中使用类似filter(Date[1] == "01-14-15")
的内容,则会找到第一个日期为01-14-15的用户。
如何设置它以便找到用户的上次日期而不是第一次约会?
filter(Date[1] == "01-14-15")
:找到第一个日期
filter(Date[?] == "01-14-15")
:找到最后一个日期的用户?
答案 0 :(得分:4)
如果我们需要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)