我有一个列表,其中每个元素都是一个数据框。
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时。
我知道距离可以用地圈计算,但我在列表上执行操作时遇到了一些麻烦。
非常感谢
答案 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)