r - 在R中查找字符串中重复次数最多的字符
问题描述
我有一个名为“apple”的字符串。我想运行一个测试,看看哪个字符在字符串中出现次数最多,即“p”。
我最初做的是使用str_extract_all("apple")
,并将列表变成一个小标题,使用group_by()
并summarise()
返回出现次数最多的字符。
我想问一下是否有更简单的方法来完成这项任务?就像可能在将其提取到列表“a”“p”“p”“l”“e”之后,我可以立即运行一个函数来检测字符?是否有任何软件包stringr
可以完成这项工作?
解决方案
使用基数 R,我们可以分离每个字符并使用table
并返回具有最大频率的字符来计算它们的出现。
most_repeated_character <- function(x) {
tab <- table(strsplit(x, '')[[1]])
names(tab)[tab == max(tab)]
}
most_repeated_character('apple')
#[1] "p"
most_repeated_character('potato')
#[1] "o" "t"
推荐阅读
- vue.js - 模块构建失败:错误:没有给出解析器和文件路径,无法在 nuxtjs 中推断出解析器
- php - MySQL - 如何让 SQL 中的用户访问不同的文件
- javascript - 我的滑块只显示第一个和第三个滑块,但不显示表格的第二个和第四个滑块
- java - 比较器被称为对象和接口
- angular - 在Angular 5中输出两个数字的NaN
- javascript - 比较 2 个对象数组是否匹配,无论其在 lodash 中的索引如何?
- electron - 如何从election.js 中获取当前正在运行的其他windows/mac 应用程序的信息?
- javascript - 隐藏内容后如何刷新div
- windows - 在 vs 代码和代码中。在命令提示符下无法在 Windows 中工作
- javascript - 预期 true 等于 false