以下の2つのR関数は、「欠損データの柔軟な置き換え」(59ページおよび63ページ)の書籍のものです。最初のものは完全無作為(MCAR)データが欠落し、2番目の欠損はランダム(MAR)データを生成します。どちらの関数も約50%の欠損値を与えます。Rの異なる割合のRデータを生成するR
MCAR関数では、p値を変更することで、欠損データのパーセンテージを生成することができます。しかし、MAR関数では、10%や30%のように欠損データのパーセンテージを変えるためにどのパラメータを変更すべきか分かりません。
MCAR
makemissing <- function(data, p=0.5){
rx <- rbinom(nrow(data), 1, p)
data[rx==0,"y"] <- NA
return(data)
}
MAR
logistic <- function(x) exp(x)/(1+exp(x))
set.seed(32881)
n <- 10000
y <- mvrnorm(n=n,mu=c(5,5),Sigma=matrix(c(1,0.6,0.6,1),nrow=2))
p2.marright <- 1 - logistic(-5 + y[,1])
r2.marright <- rbinom(n, 1, p2.marright)
yobs <- y
yobs[r2.marright==0, 2] <- NA
不足しているデータのトピックについては、** Roderick J.AによるMissing Data第2版の統計分析を参照してください。リトルとドナルドB.ルビン(2002年)ウィリー**。 –