| pclass {PracTools} | R Documentation | 
Form nonresponse adjustment classes based on propensity scores
Description
Fit a binary regression model for response probabilities and divide units into a specified number of classes.
Usage
pclass(formula, data, link="logit", numcl=5, type, design=NULL)
Arguments
| formula | symbolic description of the binary regression model to be fitted as used in  | 
| data | an optional data frame; must be specified if  | 
| link | a specification for the model link function; allowable values are  | 
| numcl | number of classes into which units are split based on estimated propensities | 
| type | whether an unweighted or weighted binary regression should be fit; allowable values are  | 
| design | sample design object; required if  | 
Details
A typical formula has the form response ~ terms where response is a two-level variable coded as 0 or 1, or is a factor where the first level denotes nonresponse and the second level is response. If type="unwtd", glm is used to fit an unweighted regression. If type="wtd", svyglm in the survey package is used to fit a survey-weighted regression.
Value
A list with components:
| p.class | propensity class for each unit | 
| propensities | estimated response probability for each unit | 
Author(s)
Richard Valliant, Jill A. Dever, Frauke Kreuter
References
Valliant, R., Dever, J., Kreuter, F. (2018, chap. 13). Practical Tools for Designing and Weighting Survey Samples, 2nd edition. New York: Springer.
See Also
Examples
    # classes based on unweighted logistic regression
require(PracTools)
data(nhis)
out <- pclass(formula = resp ~ age + as.factor(sex) + as.factor(hisp) + as.factor(race),
           data = nhis, type = "unwtd", link="logit", numcl=5)
table(out$p.class, useNA="always")
summary(out$propensities)
    # classes based on survey-weighted logistic regression
require(survey)
nhis.dsgn <- svydesign(ids = ~psu, strata = ~stratum, data = nhis, nest = TRUE, weights = ~svywt)
out <- pclass(formula = resp ~ age + as.factor(sex) + as.factor(hisp) + as.factor(race),
           type = "wtd", design = nhis.dsgn, link="logit", numcl=5)
table(out$p.class, useNA="always")
summary(out$propensities)