用方括号查找最后一个案例?

时间:2015-04-15 04:51:16

标签: r dplyr

这可能非常简单。

使用dplyrgroup_by(users),如果我在群组中使用类似filter(Date[1] == "01-14-15")的内容,则会找到第一个日期为01-14-15的用户。

如何设置它以便找到用户的上次日期而不是第一次约会?

filter(Date[1] == "01-14-15"):找到第一个日期

的用户

filter(Date[?] == "01-14-15"):找到最后一个日期的用户?

1 个答案:

答案 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)