!ベクトルから任意の数のサンプルを抽出する ある数字の並び(ベクトル)を対象として、任意の数を標本として抽出したい場合、 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" !金額帯サンプリング いわゆるMUS(monetary unit sampling)をしたい場合も対応している。 sample(data, size = サンプル数, prob = 金額項目) とすることで、金額項目に該当する数値でレコードをウェイト付したものをサンプルする。 :関連: * slice_sample()