Как заменить пропущенные значения, используя среднее и стандартное отклонение в R? - PullRequest
0 голосов
/ 12 мая 2019

У меня есть набор данных

X   Y   Z 
22  44  66
NA  67  89
42  45  98
NA  98  77
NA  63  33
65  54  78
89  67  90
87  78  83
NA  55  56
61  11  50
67  45  90
NA  90  43
90  43  76

Теперь я хочу заменить значения NA в столбце X на «mean + StandardDeviation» и «mean-StandardDevaitaion», и это слишком случайно. Может кто-нибудь предложить код для этого?

1 Ответ

2 голосов
/ 12 мая 2019

Вы можете генерировать значения и случайным образом назначать значение.Пример:

x <- c(22,NA,42,NA,NA,65,89,87,NA,61,67,NA,90)
x_mean <- mean(x, na.rm = T)
x_sd <- sd(x, na.rm = T)

values <- c(x_mean + x_sd, x_mean - x_sd)

set.seed(42)
n <- sum(is.na(x))

x[is.na(x)] <- sample(values, n, TRUE)
x
[1] 22.00000 89.52298 42.00000 89.52298 41.22702 65.00000 89.00000 87.00000 41.22702 61.00000
[11] 67.00000 89.52298 90.00000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...