r - 如何计算数据集中的空单元格?
问题描述
我一直在尝试确定整个数据集中的空单元格的数量。
我用过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
此示例中只有三个空单元格。我想达到这个值。
解决方案
complete.cases() 函数计算缺失值的案例,但提供的数据中没有。首先,我们必须将其转换为我们可以阅读的格式:
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))
我们不能确定这正是您的数据应该是什么样子,因为由空格分隔的空格不容易识别,并且字符串可能作为因子存储。
推荐阅读
- ionic-framework - 如何使用预先保存的卡详细信息来填充 squareup SQpayment 表单
- javascript - div显示/隐藏不起作用?
- office365 - Outlook Web 加载项 - 在 Outlook 客户端中获取和设置会议室
- java - 在后台 java 控制台应用程序上打印字母 X
- sql - 在 postgresql 查询中需要拆分行的帮助
- kubernetes - 在 Helm 图表中编写自定义函数
- css - 导航选项卡上的 CSS 形状
- ubuntu-16.04 - 无法在 Ubuntu 服务器上安装 docker
- redux - 不可变 JS:更新嵌套的动态对象
- php - 如何使用 laravel 5.4 使用 cartalyst sentinel 发送激活电子邮件/代码