很明显,我没有得到在R中grep工作的方式。如果我在我的OS X终端上使用grep,我可以使用参数-o使grep只返回匹配的部分。在R中,我找不到如何做相应的事情。阅读手册我认为值是正确的方法,这是更好的,因为它返回字符而不是索引,但仍返回整个字符串。如何在R中使用grep参数?
# some string fasdjlk465öfsdj123
# R
test <- fasdjlk465öfsdj123
grep("[0-9]",test,value=TRUE) # returns "fasdjlk465öfsdj123"
# shell
grep -o '[0-9]' fasdjlk465öfsdj123
# returns 4 6 5 1 2 3
我在R中缺少的参数是什么?
编辑:Joris Meys的建议非常接近我想要做的。作为readLines的结果,我得到了一个向量。我想检查矢量的每个元素的数字并返回这些数字。我很惊讶没有标准的解决方案。我想过使用一些适用于字符串的regexp函数,并返回像grep -o这样的匹配,然后在该向量上使用lapply。 grep.custom最接近 - 我会尽力为我工作。
嗯,是不是调用一些shell grep更容易?我该怎么做呢? – 2010-12-09 13:12:09
@ ran2:更正了我的名字:-) – 2010-12-09 13:13:57
oups,对不起,先生!我会仔细检查下次你帮我时是否至少写下了你的名字;) – 2010-12-09 13:17:07