2016-11-05 50 views
0

我想插入使用akima包中存儲在list中的許多個人data.frameslapply和interp(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

任何意見將不勝感激。

+0

是否有可能您的'data.frames'列表中缺少'lat'? – Nate

+1

嘗試'(store [[i]],...)... ... –

+0

你可以繼續併發布你的解決方案作爲答案。最好這樣做比編輯它成爲你的問題更好... –

回答

1

使用這些建議並計算重複的點數(某些站點的經緯度和相同點)可以完成這項工作。

i=1 

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