Exploratory コミュニティ

新しい列にランダムな値を生成する方法

#1

例えば、1000行のデータフレームがあり、1から12の範囲でランダムに値を生成して新しい列に追加したいとします。

そういった場合はrunif関数を使うことで0から1の間の値をランダムに生成し、12をかけることで0から12までの値にすることができます。

そして、ceiling関数を使用して値を切り上げて整数値にします。

計算は次のようになります。

ceiling(runif*n())*12)

05

このrunif関数は、一様分布に従ってランダムな値を設定することができます。
そのため、基本的にすべての範囲で同じような頻度となります。

50

もし正規分布などの分布を使用したい時は、rnormという関数が使えます。

ceiling(rnorm(n())*12)

04