在R中搜索列表中出现的整数

在R中搜索列表中出现的整数,r,pattern-matching,match,R,Pattern Matching,Match,这是一个非常基本的问题,我可能没有看到一些明显的问题,但我目前遇到了这个问题: 在R中,我通过sample函数生成了一个整数列表。然后我想找到一个确切的模式 应该是显而易见的,但grep做了以下工作: 一, 二, 没有结果可以帮助我找到该模式的出现。虽然最后一个使用matchPattern的看起来还可以,但它发现一些奇怪的13个字符长的字符串与5个字符长的模式根本不匹配 我在这里看不到什么?我怎样才能像在shell中一样执行正常的grep搜索 编辑: 要生成包含所需属性的列表,我使用了: hug

这是一个非常基本的问题,我可能没有看到一些明显的问题,但我目前遇到了这个问题:

在R中,我通过sample函数生成了一个整数列表。然后我想找到一个确切的模式

应该是显而易见的,但grep做了以下工作:

一,

二,

没有结果可以帮助我找到该模式的出现。虽然最后一个使用matchPattern的看起来还可以,但它发现一些奇怪的13个字符长的字符串与5个字符长的模式根本不匹配

我在这里看不到什么?我怎样才能像在shell中一样执行正常的grep搜索

编辑: 要生成包含所需属性的列表,我使用了:

hugeListofNumbers<-sample(c(0,1,2,3), 10^5, replace=TRUE, prob=NULL)
pattern<-sample(c(0,1,2,3), 5 , replace=TRUE, prob=NULL)

好的,我找到了解决方案,正如预期的那样,这是因为我在监督一个非常基本的问题:R的样本函数返回一个向量,因此在将其转换为字符串之前,我无法匹配任何长度超过1的模式。

您能添加一些代码来生成一个特定的数字列表,以便我们帮助您解决这个问题吗?类似于HugeListOfNumbers,我认为永远不会出现这样的情况:当正则表达式函数强制将R整数转换为字符向量时,R整数将有一个前导0位。请注意,您的模式值是3230,而不是03230。我的投票结果很接近,因为我认为这是一个印刷错误。@BondedDust我知道模式值与实际模式不同。这不是一个印刷错误,但我正在寻找实际的模式,不管它的数字意义。同样的任务也可以用字母来完成。我之所以使用整数,是因为以下步骤需要数值运算。这就是为什么我尝试暂时将其转换为字符串进行搜索。@waternova编辑已经完成,代码就在那里。
pattern<-toString(03230)
x<-toString(hugeListofNumbers)

grep(pattern, x)
>[1] 1
matchPattern(pattern, x)

     start    end width
[1]   5146   5158    13 [0, 3, 2, 3, 2]
....
hugeListofNumbers<-sample(c(0,1,2,3), 10^5, replace=TRUE, prob=NULL)
pattern<-sample(c(0,1,2,3), 5 , replace=TRUE, prob=NULL)