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