[R]無作為抽出をするsample関数の使い方

無作為抽出を行うsample関数

Rで無作為抽出をするには sample関数を使います。

 

1回のコイントスをシュミュレーションしようとする場合には次のようにします。


sample(c("omote", "ura"), 1)

 

sample関数の最初の引数にはどんな集団かをベクタで入力します。

 

コイントスの場合は「表」と「裏」なので、表裏のベクタとして入力しました。

 

2番めの引数には抽出する回数を入力します。

 

次はコイントスを連続で10回行う場合です。

 

コインは一回表が出れば次は絶対裏が出るということはありません。

 

完全な復元抽出なので、replace=TRUEという引数を入れて、復元抽出を行います。


sample(c("omote", "ura"), 10, replace=TRUE)

 

コイントスではなく通し番号から無作為抽出を行うのであればベクタ部分を次のようにしておこなえばOKです。


sample(1:1000, 10)

 

sample関数の引数

sample(x, size, replace = FALSE, prob = NULL)

x 無作為抽出されるデータのベクタ
size 無作為抽出する個数
replace 復元抽出を行うか
prob ベクタxのデータそれぞれが抽出される確率

RでアルファベットのAからZの中から単純無作為抽出法で標本抽出を行う方法を説明します。

 

アルファベットはRにすでに LETTERSというデータとして登録されていますのでそれを使います。


LETTERS

[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q"[18] "R" "S" "T" "U" "V" "W" "X" "Y" "Z"

 

単純無作為抽出法ではデータに通し番号をつけるのですが、Rではデータを読み込んだときに通し番号が振られているので、改めて通し番号を振る必要はありません。

 

Rで単純無作為抽出法を行うには [ ](スクエア・ブラケット)という要素の抽出のための記号と、先ほどの sample関数を組み合わせて使います。

 

この記号は次のようにデータ名の後に抽出したい番号をつけて入力すると、その番号に一致するデータの要素を表示してくれます。


LETTERS[3]

[1] "C"

 

複数の番号で抽出したいときは、番号をベクタとして入力します。


LETTERS[c(3, 6, 18)]

[1] "C" "F" "R"

 

実際に sample関数を使って、アルファベットから5個の標本を単純無作為抽出法で抽出します。

 

sample関数で返される値は必ずベクタになっているので、複数の値として [ ]の中に入力します。


LETTERS[sample(1:26, 5)]

[1] "P" "Z" "B" "C" "Q"

 

アルファベットの数は26個なので母集団は1から26の通し番号が振られています。

 

その中から無作為に5つを選ぶので、 sample関数部分は上記のようにすればOKです。

 

当然ですが、この結果とあなたの画面の結果は異なっているはずです。

 

sample関数を抽出のたびに使用しているので、毎回違う番号が選ばれているということです。

 

一度、抽出した標本を保存したり、何度も呼び出せるようにしたいときは、 sample関数で抽出した番号をはじめに保存し、そのベクタを使って母集団から標本を抽出します。


SampleNum <- sample(1:26, 5)LETTERS[SampleNum]

 

標本を何度も使うのであれば、同じように標本をデータとして保存すれば呼び出すのも簡単になります。


SampleLet <- LETTERS[SampleNum]

 

Rで無作為抽出を行うには以上の方法が基本で、ベクタが表データ(マトリックス)になったとしてもやり方は同じです。

ページトップへ戻る

[R]無作為抽出をするsample関数の使い方関連ページ

[R]統計学的なデータの種類の扱い
Rで統計的(数学的)なデータの種類をどのように扱うかという話。
[R]度数分布表を作る方法
Rでは度数分布表を作る関数が用意されていない。 ここではRで度数分布表を作成するための方法と、度数分布表を自動で作成する関数を紹介している。
[R]ヒストグラムを描くhist関数
Rでは標準でヒストグラムを描くためのhist関数が用意されている。 ヒストグラムの書き方とヒストグラムを描くときの注意点について。
[R]で代表値を求める
Rで代表値を求めるための方法。 平均値はmean、中央値はmedian、最頻値はtableを使って求めることができます。 基本的な使い方と補足説明を入れてあります。
[R]散布度を求める
散布度をRで求める方法。 散布度にはいろいろな基準があるが、Rはほとんどすべてを網羅している。
[R]箱ひげ図を描く
Rではboxplot関数を使って、箱ひげ図を直接綺麗に描くことができる。 Rで箱ひげ図を描くための方法を説明する。

 
トップページ Rの操作 Rで統計 Rのグラフ 統計の基礎 管理人ブログ