Function to calculate predictions and uncertainties of predictions from estimates from multivariate regression analysis of survey data with the item count technique.

# S3 method for ictregBayes
predict(object, newdata, newdata.diff, direct.glm, = FALSE, interval = c("none", "confidence"), level = 0.95,
  sensitive.item, ...)



Object of class inheriting from "ictregBayes" or "ictregBayesMulti"


An optional data frame containing data that will be used to make predictions from. If omitted, the data used to fit the regression are used.


An optional data frame used to compare predictions with predictions from the data in the provided newdata data frame.


A glm object from a logistic binomial regression predicting responses to a direct survey item regarding the sensitive item. The predictions from the ictreg object are compared to the predictions based on this glm object.

A switch indicating if standard errors are required.


Type of interval calculation.


Significance level for confidence intervals.


For the multiple sensitive item design, the integer indicating which sensitive item coefficients will be used for prediction.


further arguments to be passed to or from other methods.


predict.ictreg produces a vector of predictions or a matrix of predictions and bounds with column names fit, lwr, and upr if interval is set. If is TRUE, a list with the following components is returned:


vector or matrix as above

standard error of prediction


predict.ictregBayes produces predicted values, obtained by evaluating the regression function in the frame newdata (which defaults to model.frame(object). If the logical is TRUE, standard errors of the predictions are calculated. Setting interval specifies computation of confidence intervals at the specified level or no intervals.

The mean prediction across all observations in the dataset is calculated, and if the option is set to TRUE a standard error for this mean estimate will be provided. The interval option will output confidence intervals instead of only the point estimate if set to TRUE.

Two additional types of mean prediction are also available. The first, if a newdata.diff data frame is provided by the user, calculates the mean predicted values across two datasets, as well as the mean difference in predicted value. Standard errors and confidence intervals can also be added. For difference prediction, avg must be set to TRUE.

The second type of prediction, triggered if a direct.glm object is provided by the user, calculates the mean difference in prediction between predictions based on an ictreg fit and a glm fit from a direct survey item on the sensitive question. This is defined as the revealed social desirability bias in Blair and Imai (2010).

In the multiple sensitive item design, prediction can only be based on the coefficients from one of the sensitive item fits. The sensitive.item option allows you to specify which is used, using integers from 1 to the number of sensitive items.


Blair, Graeme and Kosuke Imai. (2012) ``Statistical Analysis of List Experiments." Political Analysis, Vol. 20, No 1 (Winter). available at

Imai, Kosuke. (2011) ``Multivariate Regression Analysis for the Item Count Technique.'' Journal of the American Statistical Association, Vol. 106, No. 494 (June), pp. 407-416. available at

See also

ictreg for model fitting


# NOT RUN { <- ictregBayes(y ~ age + college + male + south, data = multi, treat = "treat", delta.tune = diag(.002, 5), psi.tune = diag(.00025, 5)) bayes.predict <- predict(, interval = "confidence", = TRUE) # }