2
我有一个包含数字和因子变量组合的数据框。使用NA替换数据框中所有列的所有异常值
我试图递归替换NA但是我在与以下错误
Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric
问题都异常(3×SD)
我所用的代码是
name = factor(c("A","B","NA","D","E","NA","G","H","H"))
height = c(120,NA,150,170,NA,146,132,210,NA)
age = c(10,20,0,30,40,50,60,NA,130)
mark = c(100,0.5,100,50,90,100,NA,50,210)
data = data.frame(name=name,mark=mark,age=age,height=height)
data
data[is.na(data)] <- 77777
data.scale <- scale(data)
data.scale[ abs(data.scale) > 3 ] <- NA
data <- data.scale
任何关于如何使这项工作的建议?
包括[可重现的示例](http://stackoverflow.com/questions/5963269)将使其他人更容易帮助你。 – Jaap
如果你正在讨论异常值,那么你的变量不应该是一个因子 –
你正在一个数据框上进行数学应用,这个数据框上只包含数值。使用'data = data.frame(mark = mark,age = age,height = height)',不带'name'列。运行代码的其余部分,并在末尾添加'data <-cbind(name,data)'行。 – Smich7