2018-04-12

【備忘録】Rのgrepで特定の文字列にマッチさせない方法

R で特定の文字列にマッチする要素を選びたいときに、簡単なマッチングであれば grep 関数を使いますが、逆に特定の文字列を含まないときにはどうすればよいでしょうか?Google で「R grep 含まない」をキーワードにして検索しましたが、これだという情報にたどりつけませんでした。

しかし、ふと RStudio で ?grep とタイプしてヘルプ文書を読んでみると、invert という便利な機能(引数?オプション?)があるではないですか。そう、まさにこれなのです。ということで、備忘録にします。

> tmp <- c("ABC", "DEF", "GHI")
> grep("ABC", tmp)
[1] 1
> grep("ABC", tmp, invert = TRUE)
[1] 2 3
>

どうやら、正規表現を使ってガチでやるにはどうすればいいんだろう、なんて考えてしまうことが迷走の始まりのようです。時間を忘れていろいろ検索するのは結構なことですが、肝心の解決にさっぱり結びつきません。Rの関数にもしかしてこういう機能が実装されていないのだろうか、という視点をすっかり忘れてしまっていました。反省!

参考サイト

  1. R: Pattern Matching and Replacement

 

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: