たまにランダムな文字列を生成する必要があります。そんな時は「stringi」パッケージのstri_rand_stringsコマンドがオススメです。参考までにデータセットの作成例を紹介します。
実行コマンドはwindows 11のR version 4.1.2で確認しています。
実行コマンド
下記コマンドを実行してください。詳細は各パッケージのヘルプを確認してください。
#tidyverseパッケージがなければインストール if(!require("tidyverse", quietly = TRUE)){ install.packages("tidyverse");require("tidyverse") } #stringiパッケージがなければインストール if(!require("stringi", quietly = TRUE)){ install.packages("stringi");require("stringi") } #指定パターンから指定の長さで文字列を作成:stri_rand_stringsコマンド #生成数を指定:nオプション #文字列の長さを指定:lengthオプション #パターンを指定:patternオプション stri_rand_strings(n = 3, length = 4, pattern = "[a-zあ-んア-ンA-Z0-9]") [1] "るばGガ" "iニョあ" "tVヲっ" ###データ例の作成##### n <- 300 #データ例の作成方法1 #tidyr,stringiパッケージとreplaceコマンドを利用 TestData1 <- tibble(Time = paste0("Time", formatC(1:n, width = 2, flag = "0")), Word = paste0("Word", formatC(1:n, width = 2, flag = "0")), Strings = NA) %>% group_by(Time) %>% mutate_at(vars(-group_cols()), ~replace(., is.na(.), stri_rand_strings(n = 1, length = 4, pattern = "[a-zあ-んア-ンA-Z0-9]"))) %>% spread(key = Word, Strings) #データ例の作成方法2 #stringiパッケージとbaseコマンドを利用 TestData2 <- data.frame(paste0("Group", formatC(1:n, width = 2, flag = "0")), matrix(stri_rand_strings(n = n^2, length = 4, pattern = "[a-zあ-んア-ンA-Z0-9]"), n, n)) colnames(TestData2) <- c("Time", paste0("Word", formatC(1:n, width = 2, flag = "0"))) ########
出力例
少しでも、あなたの解析が楽になりますように!!