【发布时间】:2019-07-31 10:28:28
【问题描述】:
我正在尝试在 data.frames 列表中的特定列中查找所有匹配值。但是,我不断收到 character(0) 的返回值。
我尝试了以下方法: 简单子集(非常耗时)-> 例如数据[[i]][[i]] lapply w/ Reduce 和 intersect (见here
LocA<-data.frame(obs.date=c("2018-01-10","2018-01-14","2018-01-20),
obs.count=c(2,0,1))
LocB<-data.frame(obs.date=c("2018-01-09","2018-01-14","2018-01-20),
obs.count=c(0,3,5))
LocC<-data.frame(obs.date=c("2018-01-12","2018-01-14","2018-01-19"),
obs.count=c(2,0,1))
LocD<-data.frame(obs.date=c("2018-01-11","2018-01-16","2018-01-21"),
obs.count=c(2,0,1))
dfList<-list(LocA,LocB,LocC,LocD)
##List of all dates
lapply(dfList,'[[',1)
[1]"2018-01-10" "2018-01-14" "2018-01-20" "2018-01-09"...
尝试(失败)
>Reduce(intersect,lapply(dfList,'[[',1))
character (0)
我希望此函数的输出是标识共享共同日期的 data.frames 的输出。
*如果有人知道如何识别共享日期并变异为单个数据框,其中..Col1 = 数据框名称,Col2=obs.date,Col3 = obs.count,您会更加微笑
【问题讨论】: