Function to conduct multivariate regression analyses of survey data with the item count technique, also known as the list experiment, using predicted responses from list experiments as predictors in outcome regression models.

ictreg.joint(formula, data = parent.frame(), treat = "treat", J, outcome = "outcome", outcome.reg = "logistic", constrained = FALSE, maxIter = 1000)

formula | An object of class "formula": a symbolic description of the model to be fitted. |
---|---|

data | A data frame containing the variables in the model |

treat | Name of treatment indicator as a string. For single sensitive item models, this refers to a binary indicator, and for multiple sensitive item models it refers to a multi-valued variable with zero representing the control condition. This can be an integer (with 0 for the control group) or a factor (with "control" for the control group). |

J | Number of non-sensitive (control) survey items. |

outcome | Name of outcome indicator as a string. |

outcome.reg | Model for outcome regression. Options are "logistic" or "linear;" default is "logistic". |

constrained | A logical value indicating whether the control group parameters are constrained to be equal. Default is FALSE. |

maxIter | Maximum number of iterations for the Expectation-Maximization algorithm of the ML estimation. The default is 1000. |

`ictreg.joint`

returns an object of class "ictreg.joint". The
function `summary`

is used to obtain a table of the results. The object
`ictreg.joint`

is a list that contains the following components.

point estimate for effect of covariate on item count fitted on treatment group

standard error for estimate of effect of covariate on item count fitted on treatment group

point estimate for effect of covariate on item count fitted on control group

standard error for estimate of effect of covariate on item count fitted on control group

point estimate for effect of covariate and sensitive item on outcome

standard error for estimate of effect of covariate and sensitive item on outcome

variable names as defined in the data frame

call indicating whether the constrained model is used

the matched call

the `data`

argument

the `outcome.reg`

argument

the design matrix

the response vector

the vector indicating treatment status

Number of non-sensitive (control) survey items set by the user or detected.

a vector of the names used
by the `treat`

vector for the sensitive item or items. This is the
names from the `treat`

indicator if it is a factor, or the number of
the item if it is numeric.

a vector of the names used
by the `treat`

vector for the control items. This is the names from the
`treat`

indicator if it is a factor, or the number of the item if it is
numeric.

This function allows the user to perform regression analysis on survey data with the item count technique, also known as the list experiment, using predicted responses from list experiments as predictors in outcome regression models.

Imai, Kosuke, Bethany Park, and Kenneth F. Greene. (2014) ``Using the Predicted Responses from List Experiments as Explanatory Variables in Regression Models.'' available at http://imai.princeton.edu/research/files/listExp.pdf

# NOT RUN { data(mexico) loyal <- mexico[mexico$mex.loyal == 1,] notloyal <- mexico[mexico$mex.loyal == 0,] ## Logistic outcome regression ## (effect of vote-selling on turnout) ## This replicates Table 4 in Imai et al. 2014 loyalreg <- ictreg.joint(formula = mex.y.all ~ mex.male + mex.age + mex.age2 + mex.education + mex.interest + mex.married + mex.wealth + mex.urban + mex.havepropoganda + mex.concurrent, data = loyal, treat = "mex.t", outcome = "mex.votecard", J = 3, constrained = TRUE, outcome.reg = "logistic", maxIter = 1000) summary(loyalreg) ## Linear outcome regression ## (effect of vote-selling on candidate approval) ## This replicates Table 5 in Imai et al. 2014 approvalreg <- ictreg.joint(formula = mex.y.all ~ mex.male + mex.age + mex.age2 + mex.education + mex.interest + mex.married + mex.urban + mex.cleanelections + mex.cleanelectionsmiss + mex.havepropoganda + mex.wealth + mex.northregion + mex.centralregion + mex.metro + mex.pidpriw2 + mex.pidpanw2 + mex.pidprdw2, data = mexico, treat = "mex.t", outcome = "mex.epnapprove", J = 3, constrained = TRUE, outcome.reg = "linear", maxIter = 1000) summary(approvalreg) # }