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