normimpute {autonomics}R Documentation

Impute from half-normal distribution around 0

Description

Impute from half-normal distribution around 0

Usage

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)
)

Arguments

x

NA-containing numeric vector

selector

which values to impute

mean

which mean to impute around

Value

numeric vector of same length

Examples

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)

[Package autonomics version 1.2.0 Index]