normimpute {autonomics} | R Documentation |
Impute from half-normal distribution around 0
normimpute(x, selector = is.na(x), mean = 0) halfnormimpute(x, selector = is.na(x)) zeroimpute(x, selector = is.na(x)) translate( x, ref = c(min, mean, median, max)[[1]], pos = 3 * sd(x, na.rm = TRUE) )
x |
NA-containing numeric vector |
selector |
which values to impute |
mean |
which mean to impute around |
numeric vector of same length
require(data.table) x <- rnorm(1e5) idx <- runif(length(x))>0.9 x[idx] <- NA dt1 <- data.table(value = normimpute(x), distr = 'norm') x <- abs(rnorm(1e5)); x[idx] <- NA dt2 <- data.table(value = halfnormimpute(x), distr = 'halfnorm') x <- abs(rnorm(1e5)); x[idx] <- NA dt3 <- data.table(value = zeroimpute(x), distr = 'zero') x <- abs(rnorm(1e5)); x[idx] <- NA dt4 <- data.table(value = translate(x), distr = 'translate') require(ggplot2) ggplot(rbind(dt1,dt2,dt3, dt4), aes(x=value, fill=distr)) + geom_density(alpha=0.5)