国変数を因子として使用する次のデータフレーム(簡略化)があり、値変数に欠測値があります。
country value
AUT NA
AUT 5
AUT NA
AUT NA
GER NA
GER NA
GER 7
GER NA
GER NA
以下は、上記のデータフレームを生成します。
data <- data.frame(country=c("AUT", "AUT", "AUT", "AUT", "GER", "GER", "GER", "GER", "GER"), value=c(NA, 5, NA, NA, NA, NA, 7, NA, NA))
ここで、最後の観測の繰り越し(LOCF)を使用して、各国のサブセットのNA値を置き換えたいと思います。zooパッケージのコマンドna.locf
を知っています。次のデータフレームが表示されます。data <- na.locf(data)
country value
AUT NA
AUT 5
AUT 5
AUT 5
GER 5
GER 5
GER 7
GER 7
GER 7
ただし、この関数は、国によって分割された個々のサブセットでのみ使用する必要があります。以下は私が必要とする出力です:
country value
AUT NA
AUT 5
AUT 5
AUT 5
GER NA
GER NA
GER 7
GER 7
GER 7
私はそれを実装する簡単な方法を考えることができません。forループを始める前に、これを解決する方法について誰かが何か考えを持っているかどうか疑問に思いました。
どうもありがとう!!