【发布时间】:2016-05-02 03:23:16
【问题描述】:
尝试从数据集创建参考表以查找文档的当前状态。示例如下:
Document<-c(1,1,1,1,2,2,2)
change_date <- c("2015-01-01","2015-01-03","2015-01-05","2015-01-08","2015-01-05","2015-01-07","2015-01-20")
status <- c("A","A","B","C","A","B","D")
df<-data.frame(Document,change_date,status)
基本上决赛桌应该如下所示:
Document.x status
1 1 C
2 2 D
我目前正在使用下面的代码,但肯定有一种更聪明的方法可以将状态为 date==max(date) 的文档分组?
library(dplyr)
df$change_date <- as.Date(df$change_date)
df1<-group_by(df,Document) %>%
summarise(latest=max(change_date))
df1$uid<-paste(df1$Document,df1$latest,sep="_")
df$uid<-paste(df$Document,df$change_date,sep="_")
df2<-merge(df1,df,"uid",x.all=TRUE)
df2<-df2[,c(2,6)]
提前致谢。
【问题讨论】: