Tengo un conjunto de datos hecho de https://gss.norc.org/get-the-data
En el libro de códigos se describe cómo utilizar los pesos:
cluster VPSU;
strata VSTRAT;
weight WTSSPS /* For years before 2021, use WTSSALL or WTSSNR */;
Voy a utilizar WTSSALL con todos los datos anteriores a 2021, así que he seleccionado todos los años que tienen estas variables: VPSU,VSTRAT y WTSSPS en mi conjunto de datos gss y luego seleccioné algunas otras variables para el análisis.
> head(gss)
# A tibble: 6 × 10
uid class health age vpsu vstrat wtssall year race age_group
<int> <fct> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <fct> <fct>
1 4602 working class excellent 38 1 7001 1.40 1975 White 25-44
2 4603 middle class excellent 20 1 7001 1.40 1975 White 18-24
3 4604 working class fair 61 1 7001 0.466 1975 White 45-64
4 4605 middle class excellent 19 1 7001 0.932 1975 White 18-24
5 4606 middle class good 28 1 7001 1.40 1975 White 25-44
6 4607 middle class excellent 28 1 7002 0.932 1975 White 25-44
creación de un diseño de encuesta
gss_a_design <-svydesign(id = ~vpsu,
strata = ~vstrat,
data = subset(gss,
!is.na(class) &
class!="no class" &
!is.na(health)),
weights = ~wtssall,
nest = TRUE)
resumen(gss_a_design)
Stratified 1 - level Cluster Sampling design (with replacement)
With (4153) clusters.
svydesign(id = ~vpsu, strata = ~vstrat, data = subset(gss, !is.na(class) &
class != "no class" & !is.na(health)), weights = ~wtssall,
nest = TRUE)
Probabilities:
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.1144 0.9103 0.9897 1.2086 1.8179 2.5522
Stratum Sizes:
1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019
No puedo decir si esto es correcto en absoluto, pero cuando estoy tratando de obtener estadísticas básicas de este diseño, hay un problema
svyby(~health, ~class, gss_a_design, svymean, deff=TRUE, ci=TRUE, vartype="ci")
class healthexcellent healthgood healthfair healthpoor ci_l.healthexcellent
lower class lower class 0.1554207 0.3593957 0.3069389 0.17824468 0.1379645
working class working class 0.2580988 0.4909776 0.2021652 0.04875846 0.2508581
middle class middle class 0.3583512 0.4477918 0.1543764 0.03948070 0.3501909
upper class upper class 0.4787682 0.3578701 0.1250240 0.03833767 0.4486061
ci_l.healthgood ci_l.healthfair ci_l.healthpoor ci_u.healthexcellent ci_u.healthgood
lower class 0.3368265 0.2853632 0.16147377 0.1728769 0.3819650
working class 0.4828618 0.1956606 0.04537990 0.2653394 0.4990935
middle class 0.4396152 0.1484209 0.03639970 0.3665115 0.4559683
upper class 0.3293159 0.1055183 0.02731352 0.5089303 0.3864243
ci_u.healthfair ci_u.healthpoor DEff.healthexcellent DEff.healthgood DEff.healthfair
lower class 0.3285147 0.19501558 NA NA NA
working class 0.2086697 0.05213701 131.1441 126.2381 125.6425
middle class 0.1603318 0.04256171 158.8733 148.3204 149.0428
upper class 0.1445298 0.04936182 NA NA NA
DEff.healthpoor
lower class NA
working class 117.881
middle class 137.321
upper class NA
Warning messages:
1: In svymean.survey.design2(data, design[byfactor %in% byfactor[i], :
Sample size greater than population size: are weights correctly scaled?
2: In svymean.survey.design2(data, design[byfactor %in% byfactor[i], :
Sample size greater than population size: are weights correctly scaled?
En las clases inferiores y superiores no veo la diferencia de efecto de diseño y esto también me confunde. ¿Significa esto que las ponderaciones están mal aplicadas y que mi resultado estará sesgado y la inferencia también será errónea? ¿Cuál es la solución para este problema y cómo analizar esta encuesta correctamente?
Gracias