0
我想按某列的數據進行分組,然後用最近的觀察來替換NA。有什麼方法可以將聚合函數以外的函數應用於group_by的結果?如何將自定義函數應用於group_by的結果
這裏是ddply實現兩個樣本:
1:
dt<-data.table(A=rep(c(1:3),2), B=c(1,2,NA,NA,2,5),C=c(9,NA,2,8,NA,4)
ddply(dt,"A",function(x){na.locf(x, na.rm = FALSE,fromLast=FALSE)})
2:
ddply(dt,"A",function(x){
if (x[1,"A"]>2){
x[,2:3]*1
} else {
x[,2:3]*(-1)
}
})
我不知道如何與groug_by這應該是更快的複製它比ddply。順便說一下,是否有任何NA替換函數比na.locf更快?
非常感謝提前。
感謝您的回答也更新數據表。如果我們在data.table中使用,我們可以執行if-else條件嗎?在這個例子中,如果A == 1,則計算其他運行標準偏差。 @大衛阿倫堡 – YYY 2015-02-23 22:41:50