如何使用R中的平均值和标准偏差替换缺失值?

如何使用R中的平均值和标准偏差替换缺失值?,r,mean,standard-deviation,R,Mean,Standard Deviation,我有一个数据集 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值,这太随机了。 有人能为这个建议一个代码吗?您可以生成值并随机分配值。 例如: x <- c(22

我有一个数据集

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值,这太随机了。
有人能为这个建议一个代码吗?

您可以生成值并随机分配值。 例如:

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

x您可以生成值并随机分配值。
例如:

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

x对不起,您的意思是想随机分配NA值,或者
mean+stand。偏差
平均值-标准值。dev
?您需要按列进行吗?按排?按组?是的,我想随机分配[mean+stand.dev]或[mean-stand.dev](X列的平均值和标准值)给X列中的空值。你的意思是想随机分配NA值
mean+stand。偏差
平均值-标准值。dev
?您需要按列进行吗?按排?按组?是的,我想将[mean+stand.dev]或[mean-stand.dev](X列的平均值和标准值)随机分配给XSimpler列中的空值:
sample(values,n,TRUE)
@ruibradas好主意,更新了answer@shrutyam问问题时要做什么。更简单:
sample(value,n,TRUE)
@RuiBarradas好主意,更新answer@shrutyam当你回答问题时,该怎么办。