« [R]ランダムに作成された文字列を得る | トップページ | [R]ランダムに作成された文字列を得る »

2024年1月11日 (木)

[R]ランダムに作成された整数からなる数値型ベクトルを作成する

runif関数とtrunc関数を組み合わせて使う。runif関数はrunif(n, a, b)とすると、a < x < bなるxがn個からなる数値型ベクトルを返す。trunc関数は引数に与えた数値の小数点以下を切り捨てて返す関数(正数も負数も0に寄せる方向に切り捨てる)。

runif関数のヘルプには以下のような記述があり、指定した範囲は原則開区間(両端の値を含まない区間)になることに注意。

runif will not generate either of the extreme values unless max = min or max-min is small compared to min, and in particular not for the default arguments.

以下は、無作為抽出により0~10の11個の整数からなる、要素数が5の数値型ベクトルを作成した例。runif関数の第1引数に指定した数だけ乱数が作成される。上記のとおりrunif関数に指定の範囲は開区間のため、runif関数の第3引数には1加えた11を指定していることに注意。最後はtable関数で100万個の整数を作成した際の度数分布表を表示しており、0~10から均等に抽出されていることがわかる。

> floor(runif(5, 0, 11))
[1] 7 8 10 4 9
> floor(runif(5, 0, 11))
[1] 4 3 4 0 6
> floor(runif(5, 0, 11))
[1] 3 4 5 5 9
> floor(runif(5, 0, 11))
[1] 3 0 10 7 3
> table(floor(runif(1000000, 0, 11)))
0 1 2 3 4 5 6 7 8 9 10
91093 90902 90937 90639 91052 90885 90969 90530 91507 90554 90932

« [R]ランダムに作成された文字列を得る | トップページ | [R]ランダムに作成された文字列を得る »

R(数と式)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]ランダムに作成された文字列を得る | トップページ | [R]ランダムに作成された文字列を得る »

無料ブログはココログ

■■

■■■