Amostragem estratificada em r (com exemplos)


Os pesquisadores geralmente coletam amostras de uma população e usam os dados da amostra para tirar conclusões sobre a população como um todo.

Um método de amostragem comumente utilizado é a amostragem aleatória estratificada , na qual uma população é dividida em grupos e um certo número de membros de cada grupo são selecionados aleatoriamente para inclusão na amostra.

Este tutorial explica como realizar amostragem aleatória estratificada em R.

Exemplo: Amostragem Estratificada em R

Uma escola de ensino médio é composta por 400 alunos do primeiro ano, do segundo ano, do terceiro ano ou do último ano. Suponha que queiramos obter uma amostra estratificada de 40 alunos, de modo que 10 alunos de cada série sejam incluídos na amostra.

O código a seguir mostra como gerar um quadro de dados de amostra de 400 alunos:

 #make this example reproducible
set.seed(1)

#create data frame
df <- data.frame(grade = rep(c('Freshman', 'Sophomore', 'Junior', 'Senior'), each =100),
                 gpa = rnorm(400, mean=85, sd=3))

#view first six rows of data frame
head(df)

     gpa grade
1 Freshman 83.12064
2 Freshman 85.55093
3 Freshman 82.49311
4 Freshman 89.78584
5 Freshman 85.98852
6 Freshman 82.53859

Amostragem estratificada usando contagens de linhas

O código a seguir mostra como usar as funções group_by() e sample_n() do pacote dplyr para obter uma amostra aleatória estratificada de 40 alunos no total, com 10 alunos de cada série:

 library (dplyr)

#obtain laminated sample
strat_sample <- df %>%
                  group_by (grade) %>%
                  sample_n (size=10)

#find frequency of students from each grade
table(strat_sample$grade)

 Freshman Junior Senior Sophomore 
       10 10 10 10 

Amostragem estratificada usando fração de linhas

O código a seguir mostra como usar as funções group_by() e sample_frac() do pacote dplyr para obter uma amostra aleatória estratificada da qual selecionamos aleatoriamente 15% dos alunos em cada série:

 library (dplyr)

#obtain laminated sample
strat_sample <- df %>%
                  group_by (grade) %>%
                  sample_frac (size=.15)

#find frequency of students from each grade
table(strat_sample$grade)

 Freshman Junior Senior Sophomore 
       15 15 15 15

Recursos adicionais

Tipos de métodos de amostragem
Amostragem por cluster em R
Amostragem sistemática em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *