Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据R中最近的日期和ID筛选数据_R_Date_Dataframe - Fatal编程技术网

根据R中最近的日期和ID筛选数据

根据R中最近的日期和ID筛选数据,r,date,dataframe,R,Date,Dataframe,我的数据结构与以下类似: a<-data.frame(ID=c(1,2,2,2,3,3),Date=as.Date(c("2017-01-01","2017-01-02","2017-01-03","2017-01-04","2017-01-05","2017-01-06"))) print(a) ID Date 1 2017-01-01 2 2017-01-02 2 2017-01-03 2 2017-01-04 3 2017-01-05 3 2017

我的数据结构与以下类似:

a<-data.frame(ID=c(1,2,2,2,3,3),Date=as.Date(c("2017-01-01","2017-01-02","2017-01-03","2017-01-04","2017-01-05","2017-01-06")))
print(a)
ID       Date
1   2017-01-01
2   2017-01-02
2   2017-01-03
2   2017-01-04
3   2017-01-05
3   2017-01-06
b<-data.frame(ID=c(1,2,3),Date=as.Date(c("2017-01-01","2017-01-04","2017-01-06")))
print(b)
ID       Date
1   2017-01-01
2   2017-01-04
3   2017-01-06

谢谢大家!

使用
dplyr
可以执行以下操作:


a%%>%group\u by(ID)%%>%filter(Date==max(Date))
使用
数据。表

  library(data.table)
  setDT(a)
  a[, max_date := max(Date), by = ID]
  a <- a[max_date == Date, ]
  a[, max_date := NULL]

请尝试重复链接中讨论的
top\n
选项:
a%%>%group\u by(ID)%%>%top\n(1,日期)
    ID       Date
1:  1 2017-01-01
2:  2 2017-01-04
3:  3 2017-01-06