2016-10-17 18 views
0

2010-2014 5 년 PUMS 데이터로 작업하고 있습니다. 표준 오류를 찾기 위해 반복 가중치를 사용하려고합니다. 표준 오류 수식은 설명서에 나와 있지만 Microsoft Excel 또는 R에서이 두 프로그램을 수식으로 바꾸는 데 문제가 있습니다. Excel에서 각 replicate weight와 PWGTP의 합계를 얻기 위해 두 변수를 크로스 탭 할 수 있지만 더 간단한 방법이 있다고 생각합니다.PUMS 데이터에 대한 가중치를 사용하여 직접 표준 오차를 결정하는 방법

PUMS 데이터와 복제 가중치로 작업 한 사람이 있습니까? 문서는 여기에서 찾을 수 있습니다 :

R에서

http://www.census.gov/programs-surveys/acs/technical-documentation/pums/documentation.2014.html

답변

1

,이 같은 작업을 수행 할 수 있습니다

wgt <- "PWGTP" 
var <- "SEX" 

est <- aggregate(PUMS[[wgt]], by=list(PUMS[[var]]), FUN=sum, simplify=T, drop=F) 

err <- vector("list", 80) 
for(i in 1:80){ 
    err[[i]] <- aggregate(PUMS[[paste0(wgt, i)]], by=list(PUMS[[var]]), FUN=sum, simplify=T, drop=F) 
    err[[i]] <- (err[[i]][,2] - est[,2])**2 
} 

SE <- ((4/80)*colSums(do.call(rbind, err)))**.5 

이 당신 "이 사람이 기록을 사용하고 변수에 대한 SE를 계산된다고 가정한다 섹스".

평균, 중간 값, 비율 등의 SE 계산을위한 다른 수식이 있습니다. 여기에 사용 된 수식이 가장 일반적으로 사용되는 수식이므로 아마도이 값이 당신이 조사하는 것으로 가정합니다.

0

surveysrvyr 패키지가 유용 할 것입니다.

library(tidyverse) 
library(survey) 
library(srvyr) 

hga <- read_csv("ss11hga.csv") # georgia, but it will be the same for you 

# survey design, specifying replicate weights 
pumsd_hh <- hga %>% 
    as_survey_rep(
    weights = WGTP, 
    repweights = starts_with("WGTP"), 
    combined_weights = TRUE 
) 

# calculate average income and standard error by size of household 
pumsd_hh %>% 
    filter(!is.na(FINCP)) %>% 
    mutate(NP = ifelse(NP > 5, 5, NP)) %>% 
    group_by(NP) %>% 
    summarise(
    survey_mean(FINCP, na.rm = TRUE) 
)