r - 在 R 中包含条件
问题描述
要求在一列中给出JobTitles
其中包含的数量。我知道有像,。'CHIEF'
JobTitle
JobTitles
"CHIEF OF DEPARTMENT, (FIRE DEPARTMENT)"
"BATTALION CHIEF, (FIRE DEPARTMENT)"
但在我想要的是 number of 之前JobTitles
,我检查了下面的代码,但两者都不起作用。
'CHIEF' %in% data
match('CHIEF', data)
我的错误在哪里?以及如何让它计算有多少JobTitles
包含给定的单词?
谢谢
解决方案
sum(grepl("CHIEF", data$JobTitle, ignore.case=TRUE))
这将为您提供数据中所有 JobTitle 的数量,而不是包含字符串 CHIEF(无论大小写)。
您的代码不起作用的原因是 match 和 %in% 都将完整字符串作为向量中的一个元素来查找,也就是说,它们只会识别只是“CHIEF”的职位。grep(或 grepl)是方式识别部分字符串匹配。
组成数据的示例:
data=data.frame(JobTitle=c("moose","chief head", "chief moose"))
sum(grepl("CHIEF", data$JobTitle, ignore.case=TRUE))
[1] 2
推荐阅读
- node.js - 使用聚合查询获取具有总交易计数和交易详细信息的用户列表作为嵌入文档
- javascript - 如何默认选择列表中的第一项
- python - 如何在 django 中对 Querylist 进行排序(rest api)
- rust - 为什么我在 Rust 中取出一个数组后不能打印一个数组?
- extjs - 如何将表单值传递到新窗口?
- eclipse - 日食市场在安装玻璃鱼时出错
- r - 向条形图中添加星号会使 R 中的条形移动时该怎么办?
- css - 边框底部保持一定长度而不是 100%
- php - 将自定义订单状态的特定操作按钮图标添加到 Woocommerce 管理员订单
- vue.js - flickity 将类添加到上一张幻灯片