test_that("Imputation", { set.seed(123) temp <- data.frame(c(NA,NA,3:9,NA), c(NA,stats::rnorm(2),NA, stats::rnorm(6)), stats::rnorm(10), c(stats::rnorm(4),rep(NA,3), stats::rnorm(3)), rep(NA,10), c(stats::rnorm(1), rep(NA,9)), c(stats::rnorm(9),NA), stats::rnorm(10), stats::rnorm(10), c(NA,NA,3:9, NA)) temp_imp <- impute(X = temp, method='zero') expect_equal(temp_imp$data[2,1],0) expect_equal(temp_imp$data[3,5],0) temp_imp <- impute(X = temp, method='mean_obs') expect_equal(temp_imp$data[2,1],6) expect_equal(temp_imp$data[3,5],as.numeric(NA)) temp_imp <- impute(X = temp, method='median_obs') expect_equal(temp_imp$data[2,1],6) expect_equal(temp_imp$data[3,5],as.numeric(NA)) temp_imp <- impute(X = temp, method='mean_data') expect_equal(round(temp_imp$data[2,1],4),-0.1958) expect_equal(round(temp_imp$data[3,5],4),0.5324) temp_imp <- impute(X = temp, method='median_data') expect_equal(round(temp_imp$data[2,1],4),-0.4243) expect_equal(round(temp_imp$data[3,5],4),-0.1460) temp_imp <- impute(temp, method='linear', obs_share_data=TRUE) expect_equal(temp_imp$data[2,1],2) expect_equal(round(temp_imp$data[4,2],4),0.6643) expect_equal(round(temp_imp$data[3,5],4),-0.9146) expect_error(impute(temp, method='functional')) temp_imp <- impute(temp[,3:4], method='functional') expect_equal(round(temp_imp$data[5,2],4),-0.9702) })