0
$\begingroup$

I have survey data from a complex survey with stratification, weights and clustering. I'm using the survey package in R to run regressions:

svyglm(y ~ x, my_design_object)

Now, I need to add more weights - that is, I have a separate need to weight the respondents, independent of the survey design. Normally, I'd just run:

lm(y ~ x, my_data, weights = my_weights)

Statistically, is it OK to just multiply the old weights by the new weights?

E.g. to do something like

new_design <- svydesign(id = ~id, strata = ~strata, 
                  weights = ~ survey_weights * my_weights, 
                  data = my_design_object$variables)

Or is it (sigh) more complicated than that? And if so, is there an R function that does it?

$\endgroup$
4
  • 1
    $\begingroup$ Keep in mind that sampling weights are used when you are trying to estimate a population average. If you want covariate-specific estimates of means you conditon on covariates and ignore the sampling weights. That assumes that the variables being weighted on are available as covariates. $\endgroup$ Commented Sep 16, 2023 at 11:10
  • $\begingroup$ Unfortunately, the weight is on not based on factors I want to condition on - I indeed want to match the population here.... $\endgroup$
    – dash2
    Commented Sep 16, 2023 at 15:37
  • $\begingroup$ We can’t really answer this question without knowing what kind of weighting adjustments you want to do. Nonresponse adjustments? Raking to population benchmark data? $\endgroup$
    – bschneidr
    Commented Sep 20, 2023 at 1:43
  • $\begingroup$ It's a nonresponse adjustment. I want to "sample" parents of sample respondents. I know respondents' number of siblings. Parents of 10 children have ten times more chance of getting a child in the sample than parents of 1 child. (And parents of 0 children aren't sampled at all, but ignore that for now...) So, I want to divide the original weights by respondents' total number of siblings, including themselves. $\endgroup$
    – dash2
    Commented Sep 20, 2023 at 13:21

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.