вменение медиана плюс джиттер - PullRequest
2 голосов
/ 14 апреля 2019

Я хотел бы эффективно рассчитать пропущенные значения с немного разными значениями в каждой ячейке.

например:

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

Однако это вменяется с одинаковым номером во всех ячейках. Как я могу добавить разные шумы для каждой ячейки? Конечно, я мог бы сделать это с помощью цикла, но мой фрейм данных огромен, и я хотел бы сделать это эффективно

1 Ответ

0 голосов
/ 14 апреля 2019

Мы можем использовать rep с n()

library(dplyr)
library(magrittr)
df %<>%
   mutate_all(list(~ case_when(is.na(.) ~ jitter(rep(median(., na.rm = TRUE), n())),
         TRUE ~ .)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...