トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン 印刷

sample()

auditR

ベクトルから任意の数のサンプルを抽出する

ある数字の並び(ベクトル)を対象として、任意の数を標本として抽出したい場合、

sample(ベクトル, 標本数)

という関数が使えます。

> abc <- 1:100     ##abcというオブジェクトに、1から100までの整数ベクトルを定義。
> sample(abc, 5)  ##ベクトルabcから、5個の標本を採る
[1] 54 38 85  5 55
> sample(abc, 15)  ##ベクトルabcから、15個の標本を採る
[1] 53 44 30 34 10 87 35 47 45 84 76 77 16 55 49
> sample(abc, 105)  ##ベクトルabcから、105個の標本(ベクトルの数より多い)を採る
Error in sample.int(length(x), size, replace, prob) :   
cannot take a sample larger than the population when 'replace = FALSE'  ##データ数より多いといって叱られる。

文字でも使えます。

> xyz <- c("a","b","c","d","e")   ##xyzというオブジェクトに、a,b,c,d,eの文字列を定義
> sample(xyz,3)  ##xyzから3個の標本を採る
[1] "d" "a" "b"

データフレームからサンプルを抽出する

sample()はベクトルを対象とした処理のみだが、拡張として、dplyrパッケージを使うと、sample_n()でデータフレームから任意のサンプルを抽出できる。

library(dplyr)
sample_n(tbl = dataframe, size = samplesize)

Last updated 2020-01-12 | auditR (c) N.Nawata