首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算模式在数据集中出现的次数

计算模式在数据集中出现的次数
EN

Stack Overflow用户
提问于 2019-02-17 15:26:01
回答 2查看 118关注 0票数 0

假设我有以下数据集:

代码语言:javascript
运行
复制
keycard=c("a","b","c","b","c","b","c","a","b")

我想计算"bc“在向量中出现的次数。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-17 15:46:19

您可以通过使用带有grepRaw()函数的模式匹配来折叠keycard向量并对其进行处理:

代码语言:javascript
运行
复制
s <- paste(keycard, collapse = "")

length( grepRaw("bc", s, all = T) )
#[1] 3
票数 5
EN

Stack Overflow用户

发布于 2019-02-17 18:02:12

你可以像下面这样做一个小函数,其中vec是你的向量,number是你要找的数字,begend是你要找的向量的开头和结尾:

代码语言:javascript
运行
复制
sum_occurences <- function(vec, number, beg, end) {

  accum <- Reduce(paste0, vec[beg:end], accumulate = T)

  last_two <- substr(accum, nchar(accum) - 1, nchar(accum))

  return(sum(last_two == as.character(number)))

}

您可以将其应用为:

代码语言:javascript
运行
复制
keycard = c(4,5,2,5,2,4,6,5,2)

sum_occurences(keycard, 52, 1, 5)

[1] 2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54731065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档