【问题标题】:Using Replicate Weights to Determine Direct Standard Error for PUMS Data使用复制权重确定 PUMS 数据的直接标准误差
【发布时间】:2016-10-17 16:18:52
【问题描述】:

我正在处理 2010-2014 年 5 年的 PUMS 数据。我正在尝试使用复制权重来查找标准误差。标准错误公式在文档中,但我无法将其转换为 Microsoft Excel 或 R 中的公式,这是我正在使用的两个程序。我可以在 Excel 中对两个变量进行交叉表以获得每个重复权重和 PWGTP 的总和,但我想有一种更简单的方法。

这里有人处理过 PUMS 数据和复制权重吗?文档可以在这里找到:

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

【问题讨论】:

    标签: r excel standard-error census


    【解决方案1】:

    在 R 中,你可以这样做:

    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
    

    这是假设您正在使用人员记录并计算变量“SEX”的 SE。

    还有其他公式可以计算平均值、中位数、比例等的 SE。这里使用的公式可能是最常用的公式,所以我假设这是您要查询的公式。

    【讨论】:

      【解决方案2】:

      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)
        )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-13
        • 2014-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-27
        • 1970-01-01
        相关资源
        最近更新 更多