【发布时间】:2017-10-19 10:16:35
【问题描述】:
我正在使用 Rattle 包进行一些数据清理,并且我正在考虑我的数据集中的第一个变量 X。它报告说,当我在第一个选项卡“数据”选项卡中进行操作时,我得到了一些基本的数据集,它说变量 X 有 1243 个缺失值。如果我使用sum(is.na(my_df[,1])),这也是我得到的值。
在下一个选项卡“探索”选项卡上,当我检查“摘要”时,它现在显示我在变量 X 中只有 942 个 NA。
如何理解这些不同的数字?我手动浏览了我的数据集并查看了一些具有 NA 的行,并且这些 NA 看起来都一样(我知道有时会有不同类型的 NA)。
(附带问题:sum(is.na(my_df[,1]), na.rm = FALSE) 和 sum(is.na(my_df[,1]),na.rm = TRUE) 也都产生相同的数字 1243,为什么?我原以为会有一个给我length(my_df[,1])-1243。)
EDIT 以下是存在此问题的数据集:https://wetransfer.com/downloads/cf454b2c12857a4e3770102a7222422f20171019153755/516fb0。
其中的数字略有不同,根据 rattle() 中的“数据”选项卡(或等效地,根据 summary(ten_df)),我们有 88 个 NA,而不是 1243,根据“探索”,我们有 62 个 NA " 带有选中的摘要选项卡。
但现在我怀疑我的数据集已损坏,因为在上传完整的数据集之前,我原本只想上传一个说明性的列。但是当我执行时
ten_df = read.csv("ten.csv",sep=";")
my_df = as.data.frame(ten_df[,3])
因为我想看第三列var2和my_df是我本来想上传的,所以最后一个命令返回错误
Warning messages:
1: In rep(no, length.out = length(ans)) :
'x' is NULL so the result will be NULL
此外,当随后选择 my_df 以用嘎嘎声对其进行分析时,嘎嘎嘎在给出反馈的底部栏中会显示“0 输入变量”。这怎么可能?
【问题讨论】:
-
至于你的附带问题,
is.na只能返回TRUE/FALSE,参数na.rm无关紧要。要查看此内容,请尝试x <- c(1:3, NaN, NA, 4, 5, NA); sum(is.na(x))。至于缺失值报告值的差异,不看数据很难判断。我会相信summary(X)。 -
@RuiBarradas 谢谢!
标签: r dataframe na missing-data rattle