0
我有一個很大的數據框,它有來自多個州的調查數年的觀察。這裏的數據結構:在數據框的子集上插值變量
state | survey.year | time1 | obs1 | time2 | obs2
CA | 2000 | 1 | 23 | 1.2 | 43
CA | 2001 | 2 | 43 | 1.4 | 52
CA | 2002 | 5 | 53 | 3.2 | 61
...
CA | 1998 | 3 | 12 | 2.3 | 20
CA | 1999 | 4 | 14 | 2.8 | 25
CA | 2003 | 5 | 19 | 4.3 | 29
...
ND | 2000 | 2 | 223 | 3.2 | 239
ND | 2001 | 4 | 233 | 4.2 | 321
ND | 2003 | 7 | 256 | 7.9 | 387
每個國家/ survey.year組合,我想插OBS2所以,它的時間,位置排列有(時間1,OBS1)。
即我想將數據幀分解成狀態/ survey.year塊,執行我的線性插值,然後將單個狀態/ survey.year數據幀拼接成主數據幀。
我一直在試圖弄清楚如何使用plyr和Hmisc包。但不要讓自己陷入糾結。
下面是我寫的做插值後的代碼:
require(Hmisc)
df <- new.obs2 <- NULL
for (i in 1:(0.5*(ncol(indirect)-1))){
df[,"new.obs2"] <- approxExtrap(df[,"time1"],
df[,"obs1"],
xout = df[,"obs2"],
method="linear",
rule=2)
}
但我不知道如何釋放這個問題plyr。您的慷慨建議和建議將不勝感激。本質上 - 我只是試圖在每個州/ survey.year組合中插入「obs2」,所以它的引用與「obs1」的引用對齊。
當然,如果有做,而無需調用plyr功能的華而不實的方法,那麼我會持開放的態度......
謝謝!