【发布时间】:2017-03-04 00:03:39
【问题描述】:
我对 R 很陌生,在尝试将数据集中的值随机设置为 NA 时,我有点卡住了,无法真正找到问题,也许这里有人可以提供帮助?真的很感激。
所以我只是在 R 中尝试使用 ChickenWeight 数据集,并希望将变量权重中 10% 的值设置为缺失。但是,当我之后查看 NA 表时,并没有丢失 10%,但比这少得多,我就是不明白为什么?
这是我的代码:
`data <- ChickWeight
p.mis <- length(data$weight)/10
missings <- data$weight[sample(data$weight, p.mis, replace = F)]
data[missings,1] <- NA
table(is.na(data$weight)) `
应该是大约 58 个 NA,看到 data$weight 的长度是 578,但它只显示大约 35 个 NA,我做错了什么?
【问题讨论】:
-
你应该不更换样品,所以
replace = TRUE。 -
@PaulH 我认为 replace=FALSE 没问题
-
你说得对,我猜我在睡觉。
-
您也可以使用
missForest包中提供的prodNA功能。这是一个小代码sn-p:temp<-prodNA(x = as.data.frame(data$weight), noNA=0.1)--------data$weight=temp$data$weight``