lapply和interp(akima)

时间:2016-11-05 15:16:04

标签: r interpolation lapply

我希望使用data.frames包对list内存储的多个akima进行插值。

拆分原始数据框:

store <- split(data, data$frameID)

我试过了......

 results <- lapply(store, interp, x = lon, y = lat, z = precip)

但我收到错误消息Error in interp(x = lon, y = lat, z = precip) : object 'lat' not found

单个结果可以成功生成以下内容..

results <-list() # create and empty list for results

results[[i]]<-with(store$`600`, interp(x = lon, y = lat, z = precip)).

其中600代表列表中data.frames之一的名称。

然而,尝试使用循环方法推广到整个列表..

i=1

for (i in i:length(store)){
  results[[i]]<-with(store$`i`, interp(x = lon, y = lat, z = precip))
 }

我再次收到Error in interp(x = lon, y = lat, z = precip) : object 'lat' not found

非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

使用这些建议,并考虑重复点(某些工作站的相同的纬度和经度)可以完成这项工作。

i=1

for (i in i:length(store)){
  results[[i]]<-with(store[[i]], interp(x = lon, y = lat, z = precip,
duplicate = "mean"))
}