我一直在尝试确定整个数据集中的空单元格数量。
我使用了sum(is.na())
,但是没有用。它给出了sum(complete.cases())
的补充结果,给出/显示了完整的行(没有任何空单元格)。我也尝试过sum(dat$exampleColumn != "")
。但是,我想要所有空单元格的数量。有人有建议吗?
示例数据
Age ZipCode Smoke Activity
25 13020 No 3x week
35 08740 Yes NULL
15 NULL 5x week
42 Yes
14 42859 N/A 2x week
在此示例中,只有三个空单元格。我想达到这个值。
答案 0 :(得分:1)
complete.cases()函数计算缺少值的案例,但是提供的dat中没有。首先,我们必须将其放入一种我们可以阅读的格式:
dat <- read.csv(text=" Age,ZipCode,Smoke,Activity
25,13020,No,3x week
35,08740,Yes,NULL
15,NULL,,5x week
42,,Yes,
14,42859,N/A,2x week", as.is=TRUE)
所有情况都是完整的,因为没有缺失,即NA值:
sum(!complete.cases(dat))
# [1] 0
我们想要数据中的空白数,而不是带有空白的个案数:
sum(dat=="")
# [1] 3
which(dat=="", arr.ind=TRUE)
# row col
# [1,] 4 2
# [2,] 3 3
# [3,] 4 4
但是此数据将具有挑战性,因为流浪空白字符“”将被读取为非空白字段。
以后,请在R中创建数据,然后使用dput(dat)将其粘贴到您的问题中:
dat <-
structure(list(Age = c(25L, 35L, 15L, 42L, 14L), ZipCode = c("13020",
"08740", "NULL", "", "42859"), Smoke = c("No", "Yes", "", "Yes",
"N/A"), Activity = c("3x week", "NULL", "5x week", "", "2x week"
)), class = "data.frame", row.names = c(NA, -5L))
我们不能确定这正是您的数据的样子,因为不容易识别由空格分隔的空格,并且字符串可能会作为因素存储。