我试图只保留id包含字母的行。我发现以下两种方式会产生不同的结果。
df[grep("[A-Z]",df$id),]
df[grep(LETTERS,df$id),]
似乎第二种方式会省略许多实际上有字母的行。
为什么?
答案 0 :(得分:1)
如果你想在矢量中grep模式,请尝试:
to_match <- paste(LETTERS, collapse = "|")
to_match
[1] "A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z"
然后
df[grep(to_match, df$id), ]
说明: 您将匹配&#34; to_match&#34;中的任何字符。因为它们被&#34;或&#34;分开。运营商&#34; |&#34;。