9 votos

Simple post estratificación pesos en R

Acabo de recibir mis manos en la ANES (American National Election Studies) 2008 conjunto de datos, y quisiera hacer algunos análisis en R. sin Embargo, nunca he trabajado con este complejo de un conjunto de datos antes y me he topado con un problema.

La encuesta utiliza sobremuestreo y tiene una variable para el post estratificación de pesos. Sólo tenía una vaga idea de lo que eso significaba, por lo que he leído la página de la wikipedia sobre él, ya que entiendo que conceptualmente. Por desgracia, no sé cómo manipular R tal que el post estratificación de pesos se refleja cuando hago mi análisis.

Conceptualmente, la idea de sobremuestreo no me confundan, la siguiente documentación para la R "encuesta" el paquete está completamente ininteligible para mí. Te voy a mostrar lo que he encontrado hasta ahora, y realmente agradecería una explicación de lo que está pasando con estos métodos, o, si alguien sabe una manera más simple de aplicar una post-estratificación de peso a un marco de datos de las variables, me encantaría aquí también.

Así, me encontré con la "encuesta" paquete de CRAN, y tengo el manual, y, después de mirar a través de él, parece que el más prometedor método es el siguiente:

postStratify(design, strata, population, partial = FALSE, ...)

Sin embargo, cuando miro a la documentación de lo que debe ser aprobada por cada uno de estos argumentos, estoy completamente perdido. Son como sigue:

design           A survey design with replicate weights

strata           A formula or data frame of post-stratifying variables

population       A table, xtabs or data.frame with population frequencies

partial          if TRUE, ignore population strata not present in the sample

Ninguno de estos hacer un montón de sentido para mí, pero estoy bastante seguro de que el diseño argumento se supone que ser de una clase, también se definen en este paquete:

svydesign(ids, probs=NULL, strata = NULL, variables = NULL, fpc=NULL, 
    data = NULL, nest = FALSE, 
    check.strata = !nest, weights=NULL,pps=FALSE,...)

Si te das cuenta, hay un montón de argumentos opcionales aquí, que parecen hacer el mismo tipo de cosas (al menos para mí, después de leer la documentación...).

Estoy básicamente en una pérdida de por qué esto es tan complicado en R. Estoy malentendido las cosas? Hay una forma más simple de hacer esto? Cualquier ayuda se agradece.

4voto

Alan Puntos 7273

Mirando el ejemplo postStratify en el manual, estás en lo correcto: que parecen ser necesarios para dar un svydesign objeto (aunque puede si es necesario el uso de svrepdesign para especificar lugar).

El svydesign objeto debe tener ids; todos los demás son opcionales, aunque seguramente querrá data para tener algo con que trabajar, y usted probablemente tendrá algunos de los otros. En esta etapa, le sugiero que ignorar a todos aquellos que aparecen después de la data.

postStratify también necesita strata, la variable post-estratificar en: los usos de ejemplo apiclus1$stype que simplemente especifica el tipo de escuela (s, M o H). También es necesario population que puede especificar solo / a o de algún otro origen: el ejemplo que se da data.frame(stype=c("E","H","M"), Freq=c(4421,755,1018)) , aunque, como usted dice, table o xtabs puede ser utilizado en su lugar.

De nuevo, a continuación, puede ignorar el resto de opciones, a menos que usted sabe que usted necesita, entonces usted puede terminar para arriba con algo tan simple como el ejemplo dclus1p<-postStratify(dclus1, ~stype, pop.types).

4voto

Ben Puntos 310

Si ya existen los pesos es realmente simple. Tienes algo como:

ANESData <- read.spss("C:/Data/ANESSurvey.spss ... bla bla bla)

# Fix id and weights for your data. 
ANESDesign <- svydesign(id = ~SAMPID, data = ANESData , weights = ~expwgt)    

Estoy asumiendo que tiene el foreign y survey paquetes cargados...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X