例えば、1000行のデータフレームがあり、1から12の範囲でランダムに値を生成して新しい列に追加したいとします。
そういった場合はrunif
関数を使うことで0から1の間の値をランダムに生成し、12をかけることで0から12までの値にすることができます。
そして、ceiling
関数を使用して値を切り上げて整数値にします。
計算は次のようになります。
ceiling(runif*n())*12)
このrunif
関数は、一様分布に従ってランダムな値を設定することができます。
そのため、基本的にすべての範囲で同じような頻度となります。
もし正規分布などの分布を使用したい時は、rnorm
という関数が使えます。
ceiling(rnorm(n())*12)