2016-11-05 9 views
0

akimaパッケージを使用してlistに格納されている多くの個人data.framesに内挿したいと思います。私の元のデータフレームに分割たlapplyとinterp(アキマ)

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を取得します。

シングルの結果は、次の..

600は、リスト内の data.framesの1つの名前を表し
results <-list() # create and empty list for results 

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

で生成成功しすることができます。

しかし、ループのアプローチを使用して、リスト全体に一般化しようとする

...

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

'with(store [[i]]、...)' ... –

+0

を試してください。あなたの質問にそれを編集するよりもそれを行う方がいいです... –

答えて

1

提案を使用し、重複したポイント(一部のステーションでは同じlatとlon)を考慮に入れて、これは仕事です。

i=1 

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