パッケージ名に”text”とありますが、数字も扱えるのでデータマイニングに便利なパッケージです。なお、センテンス等の操作コマンドも収録されていますが、残念ながら英字のみの対応です。
パッケージバージョンは0.1.0。実行コマンドはR version 3.2.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("pacman") pacman::p_load_gh("trinker/textshape")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み library("textshape") ###データ例の作成##### #list classのデータ TestListData <- list(a = c(rep(1,3), rep(2,3), 3, 4, 4, 5), b = 10:1, c = 5:15) #内容確認 TestListData $a [1] 1 1 1 2 2 2 3 4 4 5 $b [1] 10 9 8 7 6 5 4 3 2 1 $c [1] 5 6 7 8 9 10 11 12 13 14 15 #data.frame classのデータ TestDataFrame <- data.frame(a = 1:10, b = 10:1) #内容確認 head(TestDataFrame) a b 1 1 10 2 2 9 3 3 8 4 4 7 5 5 6 6 6 5 ######## #listまたはdata.frameのデータ名をidにして結合:bind_list #結果はdata.tableとdata.frameです #listの結果 bind_list(TestListData) id content 1: a 1 2: a 1 ###省略#### 10: a 5 11: b 10 12: b 9 ###省略#### 20: b 1 21: c 5 22: c 6 ###省略#### id content #data.frameの結果 bind_list(TestDataFrame) id content 1: a 1 2: a 2 ###省略#### 19: b 2 20: b 1 #文字列の結合:combineコマンド #paste(c("からだ.", "に", "いいもの."), collapse = " ")と同じ CombineData <- combine(c("からだ.", "に", "いいもの.")) CombineData [1] "からだ. に いいもの." #配列を.で分割:split_sentenceコマンド split_sentence(CombineData) [[1]] [1] "からだ." "に いいもの." #配列の出現数を集計:mtabulateコマンド #list/data.frame classに適応 mtabulate(TestDataFrame) 1 2 3 4 5 6 7 8 9 10 a 1 1 1 1 1 1 1 1 1 1 b 1 1 1 1 1 1 1 1 1 1 #vactor classに適応 #list classにするのがポイント mtabulate(list(a = c("か", "ら", "だ"), b = c("か", "ら", "だ", "に"))) か だ に ら a 1 1 0 1 b 1 1 1 1 #値が変わる位置を検出:change_indexコマンド change_index(TestListData[[1]]) [1] 4 7 8 10 #指定した文字数または行番号でデータを分割:split_indexコマンド #分割内容の指定:indicesオプション #4,8,9番目で分割 split_index(TestListData[[1]], indices = c(4, 8, 9)) [[1]] [1] 1 1 1 [[2]] [1] 2 2 2 3 [[3]] [1] 4 [[4]] [1] 4 5 #change_indexコマンドとの組み合わせ split_index(TestListData[[1]], indices = change_index(TestListData[[1]])) [[1]] [1] 1 1 1 [[2]] [1] 2 2 2 [[3]] [1] 3 [[4]] [1] 4 4 [[5]] [1] 5 #指定した値でデータを分割:split_matchコマンド #値の指定:splitオプション #値を含めるか含めないか:includeオプション split_match(TestListData[[1]], split = c(2, 4), include = TRUE) $`1` [1] 1 1 1 $`2` [1] 2 $`3` [1] 2 $`4` [1] 2 3 $`5` [1] 4 $`6` [1] 4 5
少しでも、あなたの解析が楽になりますように!!