r - 计算每列中的条目数,结果在数据框中
问题描述
我有一个包含许多列的数据框。我想计算在每列中输入某些内容的次数。
#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))
谁能建议一种方法来做到这一点?
解决方案
您可以将names
ofdataset
用作一列,result
并Totals
通过计算与任何字符匹配的频率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
推荐阅读
- spring-boot - 无法访问 docker 容器中的 REST 端点
- c# - 任务/提交没有被调用
- javascript - 下一行应该只在上面的行完全执行时才执行 请记住在 html 中调用了该函数
- java - Nifi 自定义处理器显示错误“无法分配局部变量流文件”
- python - 如何制作按国家分组的子图
- storing-data - 在 mysquel 中存储数据的挑战
- java - 例外:实体映射中的重复列:列:哈希(应使用 insert="false" update="false" 映射)
- python - 在 Pandas 中转换数据类型
- windows - 无法在 IIS Express 上以前使用的端口上运行调试
- javascript - 使用 selenium python 修改 html 源代码的 TagName