一周前我在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”传递给两个
答案 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