This function implements the combined list estimator described in Aronow, Coppock, Crawford, and Green (2015): Combining List Experiment and Direct Question Estimates of Sensitive Behavior Prevalence
combinedListDirect(formula, data = parent.frame(), treat = "treat", direct = "direct")
formula | an object of class "formula" (or one that can be coerced to that class): a symbolic description of the model to be fitted. Should be of the form Y ~ T + X1 + X2, where Y is the list response, T is the treatment indicator, and X1, X2, etc are pretreatment covariates. It is recommended that T be a numeric variable whose values are 0 for subjects in control and 1 for subjects in treatment. |
---|---|
data | an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which combined.list is called. It is good practice to include all variables used in the estimation (list response, treatment indicator, direct response, and optional pre-treatment covariates) in a dataframe rather than calling data from the global environent. |
treat | a character string giving the name of the treatment variable. Defaults to "treat". |
direct | a character string giving the name of the direct response variable. Defaults to "direct". The direct response variable itself must only contain the values 0 and 1, where 1 refers to subjects who answered "Yes" to the direct question. |
a list containing conventional, direct, and combined prevalence estimates with associated standard errors as well as the results of two placebo tests.
# Load data from Aronow, Coppock, Crawford, and Green (2015) data("combinedListExps") # complete case analysis combinedListExps <- na.omit(combinedListExps) # Conduct estimation without covariate adjustment out.1 <- combinedListDirect(list1N ~ list1treat, data = subset(combinedListExps, directsfirst==1), treat = "list1treat", direct = "direct1") summary(out.1)#> #> Combined List Estimates #> #> Call: combinedListDirect(formula = list1N ~ list1treat, data = subset(combinedListExps, #> directsfirst == 1), treat = "list1treat", direct = "direct1") #> #> Prevalence estimates #> Combined Direct Conventional #> Estimate 0.66561842 0.65600000 0.7477391 #> Standard Error 0.04840343 0.02126576 0.0844101 #> #> Placebo Test I #> Beta is the conventional list experiment estimate among those who answer 'Yes' to the direct question. #> Ho: beta = 1 #> Ha: beta != 1 #> #> Estimate SE p n #> beta 1.053962 0.09452734 0.5680971 328 #> #> Placebo Test II #> Delta is the average effect of the receiving the treatment list on the direct question response. #> Ho: delta = 0 #> Ha: delta != 0 #> #> Estimate SE p n #> delta 0.06626651 0.04243975 0.1184234 500# Conduct estimation with covariate adjustment out.2 <- combinedListDirect(list1N ~ list1treat + gender + ideology + education + race, data = subset(combinedListExps, directsfirst==1), treat = "list1treat", direct = "direct1") summary(out.2)#> #> Combined List Estimates #> #> Call: combinedListDirect(formula = list1N ~ list1treat + gender + ideology + #> education + race, data = subset(combinedListExps, directsfirst == #> 1), treat = "list1treat", direct = "direct1") #> #> Prevalence estimates #> Combined Direct Conventional #> Estimate 0.66457358 0.65600000 0.73621744 #> Standard Error 0.04732327 0.02126576 0.08204347 #> #> Placebo Test I #> Beta is the conventional list experiment estimate among those who answer 'Yes' to the direct question. #> Ho: beta = 1 #> Ha: beta != 1 #> #> Estimate SE p n #> beta 1.058177 0.09223539 0.5282052 328 #> #> Placebo Test II #> Delta is the average effect of the receiving the treatment list on the direct question response. #> Ho: delta = 0 #> Ha: delta != 0 #> #> Estimate SE p n #> delta 0.04366578 0.03896286 0.2624145 500