私は半疎である行列を持っています。すべての細胞の半分が空白(na)なので、私が 'マウス'を走らせようとするとき、それらはすべてマウスで動こうとします。私はサブセットに興味があります。'R'、 'mice'、変数代用がありません - スパース行列で1列のみを行う方法
質問:次のコードでは、「マウス」を最初の2つの列でのみ動作させる方法を教えてください。以前の行の内容が現在の行のパッチホールに役立つように、行遅延または行頭を使用してこれを行うためのきれいな方法がありますか?私は答えを見ている
set.seed(1)
#domain
x <- seq(from=0,to=10,length.out=1000)
#ranges
y <- sin(x) +sin(x/2) + rnorm(n = length(x))
y2 <- sin(x) +sin(x/2) + rnorm(n = length(x))
#kill 50% of cells
idx_na1 <- sample(x=1:length(x),size = length(x)/2)
y[idx_na1] <- NA
#kill more cells
idx_na2 <- sample(x=1:length(x),size = length(x)/2)
y2[idx_na2] <- NA
#assemble base data
my_data <- data.frame(x,y,y2)
#make the rest of the data
for (i in 3:50){
my_data[,i] <- rnorm(n = length(x))
idx_na2 <- sample(x=1:length(x),size = length(x)/2)
my_data[idx_na2,i] <- NA
}
#imputation
est <- mice(my_data)
data2 <- complete(est)
str(data2[,1:3])
場所:
- ヘルプ文書(link)
- もちろんグーグル...
- https://stats.stackexchange.com/questions/99334/fast-missing-data-imputation-in-r-for-big-data-that-is-more-sophisticated-than-s
多くの欠損値代入メソッドは、すべての変数の結合分布を推定することによって機能するため、すべての列の欠損値を再帰的に埋めてすべての値の結合分布をより正確に推定します。あなたがすべての列でそれを行うなら、帰属はより良いです。帰属している値を削除したい場合は、欠損値のデータフレームを保存するだけで、失われているカラムに帰属している値をリセットすることができます: 'is.na(dataframe)' –