Using replicate weights with ACS 2018 in SAS

I’m trying to generate a crosstab and run a chi-square test with the ACS 2018 data in SAS and would like to apply the replicate weights. I found some sample code here: which I tried to adapt, but I get an error saying “ERROR: The REPWEIGHTS variable REPWTP1 contains missing or negative values.” The example on the website is for running a regression, so I’m not sure if the issue is just that jacknife is not a valid option for SAS SURVEYFREQ or if I am doing something else wrong.

I am also much more comfortable using SUDAAN than SAS for survey analysis. I don’t see any SUDAAN examples on the IPUMS site, but did find sample code from Census for working with replicate weights with ASEC. I believe the design is different for ACS though. Should it be Jacknife instead of BRR?

ACS uses the successive difference replication approach (SDR); standard statistical software packages do not have a built-in method to handle these to my knowledge. As you noted, the IPUMS page on working with replicate weights suggests using the jackknife method in SAS. I can’t be certain of the source of your error between not being a SAS user and not seeing your code. However, the error message indicates that the issue is related to negative values for the REPWEIGHT variables. It is possible for replicate weights in the ACS to take negative values. This page from the SAS User’s Guide leads me to believe it should be possible to use jackknife with the SURVEYFREQ procedure, and indicates that you need to specify a negative option if your replicate weights include negative values.

Thanks for your input. Unfortunately I can’t get SAS to accept that negative option in the repweights statement. I’m not sure if it’s a new option that doesn’t work in older versions of SAS (I’m using 9.4). I’ve also seen some advice online to just set negative values to zero if working in SAS.

It does appear that SUDAAN can handle the negative replicate weights. I did end up finding some sample SUDAAN code on other website and can get it to run. Not sure if you can/will comment on the accuracy of code on other sites, but the code is:

proc descript data = acs2010_nn filetype = sas design = jackknife; weight wgtp; jackwgts wgtp1 – wgtp80 / adjjack = .05; var rmsp; setenv colwidth = 19; setenv decwidth = 6; run;

And it comes from:

This really is not my area of expertise, so I don’t feel comfortable commenting. You might consider posing the question to the ACS Data Users Group forum.

Hi Christina, did you figure out a solution to the issue you described here? I am having the same problem. Thanks!

I adapted the SUDAAN code from UCLA. It works and I believe that site is pretty reputable. I’ve used other materials from them in the past.

Thanks Christina! Would you possibly be able to share your SAS code?

I couldn’t get the SAS code to work. I used SAS-callable SUDAAN and it’s essentially the code I copied above from UCLA (a proc descript with jackweights statement). Are you able to work in SUDAAN? It does require an additional license.

I am not able to work in SUDAAN, so I think I’ll try setting negative values to zero. Thanks for your response.

Hi everyone, I am new here. For what reason we need SAS code?

SAS code can be used when you download an IPUMS extract, and you want to use the statistical program SAS to analyze your data. IPUMS provides command files with code to import datasets into SAS, Stata, SPSS, and R. We also provide program-specific codes for certain analysis tasks such as using replicate weights (linked above) and variance estimation.