【发布时间】:2014-05-03 07:35:06
【问题描述】:
从一个大数据框中,我提取了一行数值数据并保存为向量。某些值缺失并标记为 NA。我想用行均值来估算缺失值。
谢谢
【问题讨论】:
从一个大数据框中,我提取了一行数值数据并保存为向量。某些值缺失并标记为 NA。我想用行均值来估算缺失值。
谢谢
【问题讨论】:
让x 成为你的向量:
x <- c(NA,0,2,0,2,NA,NA,NA,0,2)
ifelse(is.na(x), mean(x, na.rm = TRUE), x)
# [1] 1 0 2 0 2 1 1 1 0 2
或者如果你不关心原始向量,你可以直接修改它:
x[is.na(x)] <- mean(x, na.rm = TRUE)
【讨论】:
is.numeric(x),但由于平均值的浮点错误,它以科学计数法打印。如果你想减少一些浮点错误,所以“它打印得很好”,你可以做类似round(x * 1e5) / 1e5...
使用这个:
filter <- is.na(myVec)
myVec[filter] <- colMeans(myDF[,filter], na.rm=TRUE)
myVec 是您的向量,myDF 是您的 data.frame。
【讨论】: