估算中值加抖动
impute median plus jitter
我想用每个单元格中略有不同的值有效地估算缺失值。
例如:
df <- data_frame(x = rnorm(100), y = rnorm(100))
df[1:5,1] <- NA
df[1:5, 2] <- NA
df %<>% mutate_all(funs(ifelse(is.na(.), jitter(median(., na.rm = TRUE)), .)))
但是,这会在所有单元格中使用相同的数字进行估算。
如何为每个单元格添加不同的噪音?
当然,我可以用循环来做到这一点,但我的数据框很大,我想高效地做到这一点
我们可以使用 rep
和 n()
library(dplyr)
library(magrittr)
df %<>%
mutate_all(list(~ case_when(is.na(.) ~ jitter(rep(median(., na.rm = TRUE), n())),
TRUE ~ .)))
我想用每个单元格中略有不同的值有效地估算缺失值。
例如:
df <- data_frame(x = rnorm(100), y = rnorm(100))
df[1:5,1] <- NA
df[1:5, 2] <- NA
df %<>% mutate_all(funs(ifelse(is.na(.), jitter(median(., na.rm = TRUE)), .)))
但是,这会在所有单元格中使用相同的数字进行估算。 如何为每个单元格添加不同的噪音? 当然,我可以用循环来做到这一点,但我的数据框很大,我想高效地做到这一点
我们可以使用 rep
和 n()
library(dplyr)
library(magrittr)
df %<>%
mutate_all(list(~ case_when(is.na(.) ~ jitter(rep(median(., na.rm = TRUE), n())),
TRUE ~ .)))