R 计算特定整数序列的实例数

标签 r match sequence

我遇到了一些问题,我认为这是一个简单的问题。

我有以下向量(实际上是数据集中的一列)

example_data <- c(1, 2, 3, 4, 5, 6, 7, 8, 5, 9, 4, 5, 4, 5, 6, 5, 3, 3, 2, 4, 5, 6, 4, 5, 6, 6, 5)

我想找到 c(4, 5, 6) 发生的次数,完全按照这个顺序。在上面的示例中,这将是 4 次。

我尝试使用 %in%grepl() 但这些都没有成功。我也尝试过将向量折叠成一个序列并以这种方式匹配,但没有成功。

我只是觉得我错过了一些非常明显的东西,所以任何帮助将不胜感激。

最佳答案

一种方法是使用 shift 将值的 lead(来自 data.table)获取到 列表,然后与感兴趣的值 4、5、6 比较后,将其归约为逻辑向量,并得到 TRUE 的sum元素

library(data.table)
sum(Reduce(`&`, Map(`==`, shift(example_data, 0:2, type = 'lead'), 4:6)))
#[1] 4

或将数据粘贴到字符串中,并使用 stringr 中的 str_count 获取模式“456”的计数

library(stringr)
str_count(paste(example_data, collapse=""), '456')
#[1] 4

关于R 计算特定整数序列的实例数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53546973/

相关文章:

javascript - React-Native 将循环结果累积到单个字符串

hibernate - 使用 Hibernate 注释映射 PostgreSQL 串行类型

sequence - 使用预定义的主键序列在h2数据库中创建表

r - quantmod - getQuote() 不适用于不同交易所的股票代码

r - 在 R/ubuntu 中安装包 "png"

javascript - .匹配特定模式

javascript - 将单词与旁边的空格匹配

c++ - 如何动态创建转义序列?

r - 图像从 R Markdown 的投影仪输出中推下幻灯片

r - 如何将公式对象处理为字符对象?