R 计算模式在数据集中显示的次数

R 计算模式在数据集中显示的次数,r,for-loop,count,R,For Loop,Count,假设我有以下数据集: keycard=c("a","b","c","b","c","b","c","a","b") 我想计算bc在向量中出现的次数。我该怎么做?您可以折叠您的钥匙卡向量,并使用模式匹配和grepRaw函数对其进行处理: s <- paste(keycard, collapse = "") length( grepRaw("bc", s, all = T) ) #[1] 3 您可以执行如下小功能,其中vec是您的向量,对您要查找的数字进行编号,并在您要查找的向量的开头和

假设我有以下数据集:

keycard=c("a","b","c","b","c","b","c","a","b")
我想计算bc在向量中出现的次数。我该怎么做?

您可以折叠您的钥匙卡向量,并使用模式匹配和grepRaw函数对其进行处理:

s <- paste(keycard, collapse = "")

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

您可以执行如下小功能,其中vec是您的向量,对您要查找的数字进行编号,并在您要查找的向量的开头和结尾处求和结束:

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)))

}

你为什么要删除上一个问题?我删除了它,因为我没有用对我的问题有帮助的方式表达问题和正文段落。所以我决定问一个新问题。你在问题上单击“编辑”,而不是“删除”。这个问题在人们花时间提供的评论中得到了答案。你删除的问题越多,被禁止提问的几率就越高。我想,我以前也遇到过这种情况。你应该使用这些答案,并根据需要修改它们。唯一的区别是您现在提供的是num而不是chr数据。您是对的,我向您和所有花时间帮助我的人表示歉意。我不会再这样做了。我已经多次编辑了这个问题,我觉得与其继续编辑,不如重新问这个问题。非常感谢你!我试过了,效果很好!这就是我一直在寻找的答案!
keycard = c(4,5,2,5,2,4,6,5,2)

sum_occurences(keycard, 52, 1, 5)

[1] 2