“(※ただしイケメンに限る)” をランダムに挿入するR関数 だけど
3点についてコメント
1. 文字レベルで分解する必要はなくて,文に分解するに分解するときに,split に複数の文字を指定するやり方(オンラインヘルプに書いてある)
2. ある確率で何かをやるときは,rbinom ではなく runif を使う
3. for ではなくベクトル演算を行う
ということで,以下のような単純なプログラムになりました。
tadasi2 = function(text, p) {
x = unlist(strsplit(text, "[。.!]"))
y = ifelse(runif(length(x)) , "(※ただしイケメンに限る)", "")
x = paste(x, y, "。", sep="")
paste(x, collapse = "")
}
x = "英語なんて言葉なんだ! こんなものやれば誰だってできるようになる!"
tadasi2(x, 0.3)