# Load example data
suppressPackageStartupMessages(library(survey))
data(api)
dclus1 <- svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
dclus1$variables$response_status <- sample(x = c("Respondent", "Nonrespondent",
"Ineligible", "Unknown eligibility"),
size = nrow(dclus1),
replace = TRUE)
rep_design <- as.svrepdesign(dclus1)
# Adjust weights for cases with unknown eligibility
ue_adjusted_design <- redistribute_weights(
design = rep_design,
reduce_if = response_status %in% c("Unknown eligibility"),
increase_if = !response_status %in% c("Unknown eligibility"),
by = c("stype")
)
# Summarize replicate weights
summarize_rep_weights(rep_design, type = "both")
# Summarize replicate weights by grouping variables
summarize_rep_weights(ue_adjusted_design, type = 'overall',
by = c("response_status"))
summarize_rep_weights(ue_adjusted_design, type = 'overall',
by = c("stype", "response_status"))
# Compare replicate weights
rep_wt_summaries <- lapply(list('original' = rep_design,
'adjusted' = ue_adjusted_design),
summarize_rep_weights,
type = "overall")
print(rep_wt_summaries)
Run the code above in your browser using DataLab