r语言 - 用方括号查找最后一个案例



这可能非常简单。

使用

dplyrgroup_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)

最新更新