首页 > 解决方案 > 计算每列中的条目数,结果在数据框中

问题描述

我有一个包含许多列的数据框。我想计算在每列中输入某些内容的次数。

#Example data
Gender<-c("","Male","Male","","Female","Female")
location<-c("UK","France","USA","","","")
dataset<-data.frame(Gender,location, stringsAsFactors = FALSE)

性别列有 4 个条目,位置列有 3 个条目。

我希望结果在数据框中,例如:

result<-data.frame(Results=c("Gender","location"), Totals=c(4,3))

谁能建议一种方法来做到这一点?

标签: r

解决方案


您可以将namesofdataset用作一列,resultTotals通过计算与任何字符匹配的频率grep(而不是空单元格中的任何内容)来计算 :

result <- data.frame(
  Results = names(dataset),
  Totals = sapply(dataset, function(x) length(grep(".", x)))
)
rownames(result) <- NULL

结果:

result
   Results Totals
1   Gender      4
2 location      3

推荐阅读