r - 计算字符串中连续字母的最大值
问题描述
我有这个向量:
vector <- c("XXXX-X-X", "---X-X-X", "--X---XX", "--X-X--X", "-X---XX-", "-X--X--X", "X-----XX", "X----X-X", "X---XX--", "XX--X---", "---X-XXX", "--X-XX-X")
我想检测出现 X 的最大连续次数。所以,我的预期向量是:
4, 1, 2, 1,2, 1, 2, 1, 2, 2, 3, 2
解决方案
在基数 R 中,我们可以将每个字符拆分vector
为单独的字符,然后使用rle
查找max
“X”的连续长度。
sapply(strsplit(vector, ""), function(x) {
inds = rle(x)
max(inds$lengths[inds$values == "X"])
})
#[1] 4 1 2 1 2 1 2 1 2 2 3 2
推荐阅读
- github - 在具有令牌访问权限的企业 github 上找不到 git 存储库?
- php - Eloquent 将 API 属性映射到字段名称
- r - keras 中带有神经网络的词嵌入
- python - aiohttp request.multipart() 从浏览器上传文件中一无所获
- visual-studio-code - 是否有切换面板而不是切换选项卡的快捷方式?
- qt - 释放 QPushbutton 时未检测到插槽
- r - R:根据条件保持行不重复(多列)
- python - 将参数传递给由 python 中的烧瓶创建的 API
- php - 在附加表行中填充下拉列表
- jquery - 带有角度的Jquery错误