Rに大きなデータセットがある場合、特にデータが偏っていて1%だけがマイナークラスに属していて、バイアスをかけたい場合は、元のデータの分布を考慮してデータのランダムサンプルをどのように取得できますか?データのサンプル?
sample(x, n, replace = FALSE, prob = NULL)
関数は、サイズx
のベクトルn
からサンプルを取得します。このサンプルはwithまたは置換なしであり、サンプルへの各要素を選択する確率は各要素で同じ、またはベクトルユーザーから通知されます。
50のケースで各要素について同じ確率のサンプルを取得する場合は、必要なのは
n <- 50
smpl <- df[sample(nrow(df), 50),]
ただし、要素に対して選択される確率を変えたい場合は、たとえば、sexである要素が[〜#〜] m [〜#〜]である確率があるとします。 .25、sexが[〜#〜] f [〜#〜]であるものは確率.75、やったほうがいい
n <- 50
prb <- ifelse(sex=="M",0.25,0.75)
smpl <- df[sample(nrow(df), 50, prob = prb),]