MNAR_Univariate <- function(X, Y, s_1, s_2){
## s_1,s_2, sparsity in two groups respectively
n <- length(X)
m <- length(Y)
if(sum(X<0) >= n*s_1){
missing_location_X <- sample(which(X<0), n*s_1)
}else{
missing_location_X <- union(which(X<0), sample(setdiff(seq(1,n), which(X<0)), (n*s_1-sum(X<0))))
}
X[missing_location_X] <- NA
if(sum(Y>0) >= m*s_2){
missing_location_Y <- sample(which(Y>0), m*s_2)
}else{
missing_location_Y <- union(which(Y>0), sample(setdiff(seq(1,m), which(Y>0)), (m*s_2-sum(Y>0))))
}
Y[missing_location_Y] <- NA
return(c(X, Y))
}
MNAR_Univariate(rnorm(100,0,1), rnorm(100,0,1), 0.2,0.2)
MNAR_Univariate(rnorm(100,0,1), rnorm(100,0,1), 0.2,0.3)
MNAR_Univariate(rnorm(100,0,1), rnorm(100,0,1), 0.2,0.5)
MNAR_Univariate(rnorm(100,0,1), rnorm(100,0,1), 0.2,0.9)
MNAR_Univariate(rnorm(100,0,1), rnorm(100,0,1), 0.5,0.5)
