Rで解析:文字列に部分一致・完全一致するデータを取得するコマンドの例

Rの解析に役に立つ記事
スポンサーリンク

データに一致する文字列を取得するコマンドとして、部分一致に「grep」コマンド、完全一致に「charmatch」コマンドがあります。意外と知られていないので紹介します。

実行コマンドはR version 4.1.2で確認しています。


スポンサーリンク

実行コマンド

詳細はコメント、コマンドのヘルプを確認してください。

###テストデータの作成#####
TestData <- data.frame(Char = c("か", "から", "からだ", "からだに", "からだに",
                                "からだにい", "からだにいい", "からだにいいも",
                                "からだにいいもの"),
                       Data = 1:9)
########

#「からだにいい」を含むベクトルを抽出
IncKey <- TestData[, 1] %in% grep("からだにいい", TestData[, 1], value = TRUE)
#データから抽出
subset(TestData, IncKey)
Char Data
7     からだにいい    7
8   からだにいいも    8
9 からだにいいもの    9

#「からだにいい」だけを含むベクトルを抽出
MatchVec <- charmatch("からだにいい", TestData[, 1])
#データから抽出
TestData[MatchVec,]
Char Data
7 からだにいい    7

#TestDataにない内容を検索
charmatch("い", TestData[, 1])
[1] NA

#NAだと使い勝手が悪い場合がある,NA以外の値で取得したい
#nomatchオプションの設定:NAではなく0で取得
charmatch("い", TestData[, 1], nomatch = 0)
[1] 0

少しでも、あなたの解析が楽になりますように!!

Amazon audibleの登録の紹介

プライム会員限定で2024年7月22日まで3か月無料体験キャンペーン開催中です。無料体験後は月額1,500円で聞き放題です。なお、聞き放題対象外の本はAudible会員であれば非会員価格の30%引きで購入することが可能です。

Amazon audibleはプロのナレーターが朗読した本をアプリで聞くことができるサービスで、オフライン再生も可能です。通勤や作業のお供にAmazon audibleのご登録はいかがでしょうか。

・AmazonのAudible

https://amzn.to/3L4FI5o

タイトルとURLをコピーしました