列表中的距离

时间:2013-12-11 13:45:43

标签: r

我有一个列表,其中每个元素都是一个数据框。

  

list[1]

$`1`
      id   yr   mo   dy   hr   lon   lat 
     00020 1860 10   30    1    7.5  -42.
     00020 1860 10   30    2    7.6  -43.
     00020 1860 10   30    4    7.9  -44.
     00020 1860 10   30    5    8.2  -46. 

我想为每个列表添加三个额外列并计算

两个连续点之间的空间差异
两个连续点之间的时间差异
插值线的相关系数

但仅当两个连续点的时间差小于t *且否则为0时。

我知道距离可以用地圈计算,但我在列表上执行操作时遇到了一些麻烦。

非常感谢

1 个答案:

答案 0 :(得分:1)

如果您知道如何为一个data.frame执行此操作,那么只需在lapply

列表中使用dats.frames

e.g。

#create your new columns function as it would work for one data.frame

foo <- function(DF){
DF$new1 <- distm(x,y)....etc
DF$new2 <- .......etc
DF$new3 <- cor(x,y).......etc
return(DF)
}

然后对列表进行讨论,以返回包含新列的data.frames列表:

DFlist <- list(DF1, DF2, DF3)

lapply(DFlist, foo)