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の関数にもしかしてこういう機能が実装されていないのだろうか、という視点をすっかり忘れてしまっていました。反省!
参考サイト
にほんブログ村
0 件のコメント:
コメントを投稿