【问题标题】:How to count the empty cells in a dataset?如何计算数据集中的空单元格?
【发布时间】:2019-07-17 17:32:03
【问题描述】:

我一直在尝试确定整个数据集中的空单元格的数量。

我用过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

本例中只有三个空单元格。我想达到这个值。

【问题讨论】:

  • 您能否提供一个示例数据集以及您称之为“空单元格数”的数字?不清楚你所说的空单元格是什么意思。 NAs? 0 长度字符串 ('')?空白字符串 (' ')? NULL 列表列中的值?这些的某种组合?
  • 此编辑没有回答问题,因为它是数据的打印输出,而不是数据本身。请使用 dput(data_name_here)
  • 这是一个玩具数据,但主要代表我的数据。由于隐私问题,我无法将我的数据放在这里。
  • 好的。但我并不是为了我自己好,我问是为了告诉你,如果不知道“空单元格”是什么意思,就不可能回答这个问题。
  • 没有这种东西

标签: r dataframe


【解决方案1】:

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))

我们无法确定这正是您的数据应该是什么样子,因为由空格分隔的空格不容易识别,并且字符串可能作为因子存储。

【讨论】:

  • 感谢您的回答。我正在使用 read.xlsx(data) 函数上传一个 excel 文件。上传到 R 后,让我拍摄数据集的快照。如果我做错了什么或数据有问题,请告诉我。
  • 不,这根本没有帮助。我们无法在您的图片上运行 R 命令。使用 dput() 函数并将文本复制/粘贴到您的问题中。您是否尝试过我对您的数据的建议?
  • 是的,我已经尝试过并且只收到了NA。让我把数据放到dput
猜你喜欢
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-16
  • 2022-11-27
  • 2019-11-07
  • 1970-01-01
相关资源
最近更新 更多