通过时间戳合并列表中的列表

时间:2011-08-08 16:30:36

标签: list r merge timestamp dataframe

一周前我在R-help上问了这个问题,直到现在都没有回答......我在列表中有多个gps-和温度数据的数据帧。一个data.frame看起来像:

GPS:

       date     time     x.lat     x.lon   
1      22.05.11 13:50:37 53.57908 10.034599 
2      22.05.11 13:50:38 53.57906 10.034633 

温度:

        date     time     temp
1      22.05.11 13:50:38 21.6120
2      22.05.11 13:50:39 21.6070

所以我有两个列表,一个包含多个gps-data.frames,另一个包含多个临时数据帧。我使用lapply来操作两个列表,但是不能将temp和gps合并到包含所有data.frames的一个大列表中,仅存在于两个列表中的时间戳,就像上面的例子只有13:50:38一样在两者中:

GPS +温度:

       date     time    x.lat     x.lon     temp
1      22.05.11 13:50:38 53.57906 10.034633 21.6070

对于可以正常使用的单个数据帧:

both <- merge(gps,temp)

对于两个data.frames列表,我首先尝试了两个列表上的lapply ......类似于

both <- lapply(temp, gps, function(x){x <- merge(x);x})

然后我用

尝试了
both <- merge.list(gps,temp)

但这也不起作用。它只是将第一个列表“gps”传递给两个

1 个答案:

答案 0 :(得分:3)

尝试Map

> Map(merge, GPS, temp)
[[1]]
      date     time    x.lat    x.lon   temp
1 22.05.11 13:50:38 53.57906 10.03463 21.612

或只是像mapply那样致电Map

> mapply(merge, GPS, temp, SIMPLIFY=FALSE)
[[1]]
      date     time    x.lat    x.lon   temp
1 22.05.11 13:50:38 53.57906 10.03463 21.612