« [R]ランダムに作成された整数からなる数値型ベクトルを作成する | トップページ | [R]ランダムに作成された文字列を得る »

2024年1月13日 (土)

[R]ランダムに作成された文字列を得る

stringiパッケージのstri_rand_strings関数を使う。一度に複数個をベクトルで得ることができる。

> library(stringi)
> stri_rand_strings(1, 14)
[1] "cJBFBNlLVvbqLQ"
> s <- stri_rand_strings(3, 14)
> library(stringi)
> stri_rand_strings(1, 14)
[1] "NJNxejqJl3dgYS"
> s <- stri_rand_strings(3, 10)
> print(s)
[1] "5Y4del2QiL" "9JK3rYewTL" "4IXEI2ADaN"

ヘルプには、文字列の作成に使用される文字についての説明がある。

> ?stri_rand_strings

以下の説明がある。

Usage
stri_rand_strings(n, length, pattern = "[A-Za-z0-9]")

正規表現の書式を模した書式により、使用される文字列の指定ができる。デフォルトでは英大文字、英小文字、英数字だけだが、例えば、#、$、%、&の記号を4つ追加する場合は、以下のように指定をすればよい。$と&は書式を示す文字のため、前に¥を付けなければならないが、¥はエスケープシーケンスを表す記号でもあるため、前に「¥¥」と2つ続けて入力している。

> stri_rand_strings(3, 14, pattern = "[a-z#\\$%\\&]")
[1] "yapn%u$iaguxyj" "#fnkunslor&blp" "v&nro&mvxvpjke"

文字列はRの乱数の規則に則って作成される。そのため、乱数の種をset.seed関数で指定すると、作成される文字列を再現することができる。

> stri_rand_strings(4, 6)
[1] "O45lLP" "L0uBiZ" "XMpBOU" "UNdLx2"
> set.seed(6)
> stri_rand_strings(4, 6)
[1] "bwGNoy" "xlV3du" "5IlFWg" "9hxp7E"
> stri_rand_strings(4, 6)
[1] "kJMuHQ" "W7xl8v" "N3zlhi" "4wyp7Q"
> set.seed(6)
> stri_rand_strings(4, 6)
[1] "bwGNoy" "xlV3du" "5IlFWg" "9hxp7E"
> stri_rand_strings(4, 6)
[1] "kJMuHQ" "W7xl8v" "N3zlhi" "4wyp7Q"

« [R]ランダムに作成された整数からなる数値型ベクトルを作成する | トップページ | [R]ランダムに作成された文字列を得る »

R(文字と文字列)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]ランダムに作成された整数からなる数値型ベクトルを作成する | トップページ | [R]ランダムに作成された文字列を得る »

無料ブログはココログ

■■

■■■