2016-05-31 7 views
3

Je travaille avec les microdonnées de l'American Community Survey en utilisant le progiciel survey et j'espère pouvoir calculer quelques statistiques de base sur l'inégalité des revenus. Je l'ai mis en place ce qui suit comme ma conception:Mesure de l'inégalité des revenus à l'aide de la trousse d'enquête R

testsurv <- svrepdesign(data=test, repweights = test[,8:87], weights = test$HHWT, 
        combined.weights=TRUE, type = "Fay", rho = 0.5,scale=4/80, 
        rscales = rep(1, 80), mse=TRUE) 

De cela, je voudrais calculer les coefficients de Gini par année, ainsi que des ratios quantile de revenu, également par année. Génération des quantiles et les erreurs liées est simple à l'aide svyby et svyquantile:

quants <- svyby(~INCOME, ~YEAR, testsurvey, svyquantile, 
       quantiles=c(0.9, 0.75, 0.5, 0.25, 0.1), keep.var=TRUE) 

Cela me amène à ma première question: Comment puis-je calculer les erreurs types pour les rapports de quintiles de revenu (par exemple 90/10) si je avoir les erreurs basées sur le poids de la réplique pour chaque quantile? J'ai essayé d'utiliser svyratio mais c'est pour les ratios de variables entières, pas pour les observations sélectionnées dans les variables. Deuxième question: Existe-t-il un moyen de calculer le coefficient de Gini (avec des erreurs basées sur la réplique) au sein de survey en utilisant des fonctions existantes comme gini de reldist? J'ai essayé d'utiliser withReplicates mais cela n'a pas bien fonctionné, peut-être parce que gini ordonne ses arguments comme variable, puis pondère, mais les instructions pour withReplicates spécifient l'ordre inverse. J'ai essayé les deux façons, mais ni travaillé. Par exemple, celui-ci où HHWT est le poids de l'échantillon:

> withReplicates(testsurv, gini(~HHWT, ~INCOME)) 

Cela donne le message d'erreur suivant:

Error in sum(weights) : invalid 'type' (language) of argument 
In addition: Warning message: 
In is.na(x) : is.na() applied to non-(list or vector) of type 'language' 

Répondre

1

utiliser le package R véhiculent. ce n'est pas encore disponible sur le CRAN, mais vous pouvez l'installer rapidement avec

devtools::install_github("djalmapessoa/convey") 

pour le rapport de 90ème-10ème, utilisez la fonction ?svyqsr et définir alpha=-0.1 car il par défaut 80e et 20e

pour le coefficient de Gini, utiliser la ?svygini fonction

ces deux devraient être des calculs simples tant que vous avez le plan de sondage pondéré en réplicas acs. assurez-vous d'utiliser la fonction convey_prep immédiatement après l'appel svrepdesign!

+0

Merci Anthony - J'ai hâte de l'essayer (et merci aussi pour votre excellent site Web, qui est une excellente ressource)! – user115457

+0

il est sur CRAN maintenant –

+0

Anthony - c'est une réponse ridiculement tardive, mais je tenais à vous remercier pour le pointeur vers ce paquet fantastique. C'est une excellente contribution et a été indispensable pour mon projet. – user115457