裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

ベクトル演算を効率的に使う

2014年04月10日 | ブログラミング

“(※ただしイケメンに限る)” をランダムに挿入する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)

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« プログラムも簡潔に書きたい | トップ | まあ,面白っちゃあ面白い。... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

ブログラミング」カテゴリの最新記事