2017-12-04 7 views
0

Ich habe eine Probe, wo 50% der Beobachtungen weiß und 50% afroamerikanisch sind.geschichtete Probenahme mit festen Anteilen von Beobachtungsarten in R

Ich möchte eine zufällige Teilstichprobe erhalten, wo solche Proportion zu 80% Weiß und 20% African-American geändert wird.

Ich habe den Befehl stratifiziert versucht, aber ich konnte keine Option finden, die mir erlaubt, Anteile dem Schichtungskriterium zuzuordnen.

Vielen Dank im Voraus für Ihre Hilfe!

Antwort

0

Nun, ich würde die Daten für White und African-American filtern und dann aus jeder Teilmenge auswählen.

## 80% of the white sample 
    smp_size <- floor(train_ratio * nrow(df_white)) 

    ## set the seed to make your partition reproductible 
    set.seed(42) 
    data_ind_w <- sample(seq_len(nrow(df_white)), size = smp_size) 

und für die afroamerikanischen

## 20% of the african sample 
    smp_size <- floor(train_ratio * nrow(df_african)) 

    ## set the seed to make your partition reproductible 
    set.seed(42) 
    data_ind_a <- sample(seq_len(nrow(df_african)), size = smp_size) 

das ist die neuen Daten

new_data <- c(white[data_ind_w,],african[data_ind_a,]) 
0

Wenn Ihre Original-Datensatz hatte 100 Zeilen (50 weiße und 50 Afro-Amerikaner), dann 80% wäre 40 Proben und 20% wäre 10 Proben. Wenn Sie diese Werte kennen, können Sie versuchen: stratified(mydf, "group", size = c("White" = 40, "African-American" = 10)).

Beispiel:

mydf <- data.frame(group = rep(c("White", "African-American"), each = 50), value = 1:100) 
mydf 
library(splitstackshape) 
set.seed(1) 
x <- stratified(mydf, "group", size = c("White" = 40, "African-American" = 10)) 
summary(x) 
#    group  value  
# African-American:10 Min. : 1.00 
# White   :40 1st Qu.:15.25 
#      Median :31.00 
#      Mean :34.88 
#      3rd Qu.:47.50 
#      Max. :93.00