在 R 的列表中搜索整数的出现
search for occurences of an integer in a list in R
这是一个非常基本的问题,我可能没有看到明显的东西,但我目前遇到了这个问题:
在 R 中,我通过 sample()
函数生成了一个整数列表。然后想找到一个精确的模式。
应该很明显,但是 grep
做了以下事情:
1)
grep('03230', hugeListofNumbers)
>integer(0)
2)
pattern<-toString(03230)
x<-toString(hugeListofNumbers)
grep(pattern, x)
>[1] 1
3) 并使用 Biostrings
包中的 matchPattern
:
matchPattern(pattern, x)
start end width
[1] 5146 5158 13 [0, 3, 2, 3, 2]
....
没有结果可以帮助我找到模式的出现。虽然最后一个使用 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 returns 向量的 sample()
函数,所以我无法匹配任何模式长于 1,然后再将其转换为字符串。
这是一个非常基本的问题,我可能没有看到明显的东西,但我目前遇到了这个问题:
在 R 中,我通过 sample()
函数生成了一个整数列表。然后想找到一个精确的模式。
应该很明显,但是 grep
做了以下事情:
1)
grep('03230', hugeListofNumbers)
>integer(0)
2)
pattern<-toString(03230)
x<-toString(hugeListofNumbers)
grep(pattern, x)
>[1] 1
3) 并使用 Biostrings
包中的 matchPattern
:
matchPattern(pattern, x)
start end width
[1] 5146 5158 13 [0, 3, 2, 3, 2]
....
没有结果可以帮助我找到模式的出现。虽然最后一个使用 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 returns 向量的 sample()
函数,所以我无法匹配任何模式长于 1,然后再将其转换为字符串。