データに一致する文字列を取得するコマンドとして、部分一致に「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
少しでも、あなたの解析が楽になりますように!!