我有一个数据集
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
现在,我想将 X 列中的 NA 值替换为“mean+StandardDeviation”和“mean-StandardDevaitaion”,而且太随机了。有人可以为此建议代码吗?
您可以生成值并随机分配值。一个例子:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句