-1
replace NA value with the group valueは答えが似ていますが、以下の答えはdata.tableを使用してより洗練されています。重複したタグを取り除くにはどうすればいいですか?これは間違いなく私が "ID" で定義されたグループとのグループの値に応じてNAを塗りつぶします。
library(data.table)
test <- data.table(id=c(1,1,1,2,2,2,3,3,3), A=c("Val1","Val1", NA, "Val2", NA, NA, NA, NA, "Val3"), B=c(1,NA,NA, 2,2,NA,NA,NA,3))
test
id A B
1: 1 Val1 1
2: 1 Val1 NA
3: 1 NA NA
4: 2 Val2 2
5: 2 NA 2
6: 2 NA NA
7: 3 NA NA
8: 3 NA NA
9: 3 Val3 3
のようなdata.tableを持ってReplacing NAs with latest non-NA value
のない重複していないYOU
に感謝します。
NA-Valuesにそのグループの値を入力したいとします。あなたは解決策を見ますか?
結果は(文字と数字の機能については)次のようになります。
id A B
1: 1 Val1 1
2: 1 Val1 1
3: 1 Val1 1
4: 2 Val2 2
5: 2 Val2 2
6: 2 Val2 2
7: 3 Val3 3
8: 3 Val3 3
9: 3 Val3 3
はありがとうございました。
を削除した後に、データセットに参加するかにそれを(
:=
)を割り当てますグループ。 '$ a、test $ id、FUN = function(x)x [!is.na(x)])'と 'ave(テスト$ B、テスト$ id、FUN = function(x)x [ is.na(x)]) ' –