こにしき(言葉・日本社会・教育)

関西学院大学(2016.04~)の寺沢拓敬のブログです(専門:言語社会学)。

”(※ただしイケメンに限る)” をランダムに挿入するR関数

ヘルプを探し回りましたが、ないので作りました。


ご自由にお使い下さい。

以下をコピペしてください

tadasi <- function(text,p){

x1 <- unlist(strsplit(text,NULL))
res <- NULL
for( i in 1:length(x1)){
  if(x1[i]!="。" & x1[i]!="." & x1[i]!="!"){      # 「。」と「.」と「!」に反応するように作ってます
      res[i] <- x1[i]
  }else{
     if(rbinom(1,1, p) != 1){      # 指定した生起確率にしたがって、ランダムに
      res[i] <- x1[i]              # 「※ただし...」に置換する
      }else{
      res[i] <- c("(※ただしイケメンに限る)。")
      }
  }
}
 print(paste(res,collapse=""))
}

使い方

tadasi(text , p)

  • text: 文字列を入れます
  • p: 生起確率を入れます。0.0〜1.0

実例

> x <- "英語なんて言葉なんだ! こんなものやれば誰だってできるようになる!"
> tadasi(x, 0.3)
[1] "英語なんて言葉なんだ! こんなものやれば誰だってできるようになる(※ただしイケメンに限る)。"
>