All changes to Zelig are documented here. GitHub issue numbers are given after each change note when relevant. See https://github.com/IQSS/Zelig/issues. External contributors are referenced with their GitHub usernames when applicable.

- All Zelig time series models are deprecated.

`predit`

,`fitted`

,`residuals`

now accept arguments. #320

++++ All Zelig time series models will be deprecated on 1 February 2018 ++++

Resolved an issue where

`odds_ratios`

standard errors were not correctly returned for`logit`

and`relogit`

models. Thanks to @retrography. #302Zelig 4 compatability wrappers now work for

`arima`

models. Thanks to

- #280

- Resolved an error when only
`setx`

was called with`arima`

models Thanks to

- #299

Resolved an error when

`summary`

was called after`sim`

for`arima`

models. #305Resolved an error when

`sim`

is used with differenced first-order autoregressive models. #307`arima`

models return informative error when`data`

is not found. #308

Compatibility with testthat 2.0.0

Documentation updated to correctly reflect that

`tobit`

wraps`AER::tobit`

. #315Package terminology in documentation corrected. #316

Speed improvements made to

`relogit`

. Thanks to @retrography. #88Returns

`relogit`

weighted case control method to that described in King and Langche (2001, eq. 11) and used in the Stata`relogit`

implementation. #295Odds ratios now returned from

`summary`

with`relogit`

models via the`odds_ratios = TRUE`

argument. #302

- Roxygen documentation improvements.

`zquantile`

with Amelia imputed data now working. #277`vcov`

now works with`rq`

quantile regression models.More informative error handling for conflicting

`timeseries`

model arguments. #283Resolved and issue with

`relogit`

that produced a warning when the fitted model object was passed to`predict`

. #291

!EXPERIMENTAL! interface function

`to_zelig`

allows users to convert fitted model objects fitted outside of Zelig to a Zelig object. The function is called within the`setx`

wrapper if a non-Zelig object is supplied. Currently only works for models fitted with`lm`

and many estimated with`glm`

and`svyglm`

. #189`get_se`

and`get_pvalue`

function wrappers created for`get_se`

and`get_pvalue`

methods, respectively. #269If

`combine_coef_se`

is given a model estimated without multiply imputed data or bootstraps, an error is no longer returned. Instead a list of the models’ untransformed coefficients, standard errors, and p-values is returned. #268`summary`

for`logit`

models now accepts the argument`odds_ratios`

. When`TRUE`

odds ratio estimates are returned rather than coefficient estimates. Thanks to Adam Obeng. PR/#270.`setx`

and`sim`

fail informatively when passed ZeligEI objects. #271

Resolved a bug where

`weights`

were not being passed to`svydesign`

in survey models. #258Due to limited functionality and instability, zelig survey estimations no return a warning and a link to documentation on how to use

`to_survey`

via`setx`

to bipass`zelig`

. #273Resolved a bug where

`from_zelig_model`

would not extract fitted model objects for models estimated using`vglm`

. #265`get_pvalue`

and`get_se`

now work for models estimated using`vglm`

. #267Improved

`ivreg`

,`mlogit`

, and getter (#266) documentation.

Average Treatment Effect on the Treated (ATT) vignette added to the online documentation https://docs.zeligproject.org/articles/att.html

Corrected vignette URLs.

Introduce a new model type for instrumental-variable regression:

`ivreg`

based on the`ivreg`

from the AER package. #223Use the Formula package for formulas. This will enable a common syntax for multiple equations, though currently in Core Zelig it is only enhances

`ivreg`

. #241`zelig`

calls now support`update`

ing formulas (#244) and`.`

syntax for inserting all variables from`data`

on the right-hand side of the formula #87. See also #247.Arbitrary

`log`

transformations are now supported in`zelig`

calls (exept for`ivreg`

regressors). #225Arbitrary

`as.factor`

and`factor`

transformations are now supported in`zelig`

calls.Restored quantile regression (

`model = "rq"`

). Currently only supports one`tau`

at a time. #255Added

`get_qi`

wrapper for`get_qi`

method.Added

`ATT`

wrapper for`ATT`

method.`gee`

models can now be estimated with multiply imputed data. #263

`zelig`

returns an error if`weights`

are specified in a model estimated with multiply imputed data. (not possible before, but uninformative error returned)Code improvement to

`factor_coef_combine`

so it does not return a warning for model types with more than 1 declared class.Reorganize README files to meet new CRAN requirements.

Switch

`bind_rows`

for`rbind_all`

in`zquantile`

as the latter is depricated. #255Depends on the survival package in order to enable

`setx`

for exponential models without explicitly loading survival. #254`relogit`

now only accepts one`tau`

per call (similar to`quantile`

). Fixed to address #257.Additional unit tests.

New function

`combine_coef_se`

takes as input a`zelig`

model estimated using multiply imputed data or bootstrapping and returns a list of coefficients, standard errors, z-values, and p-values combined across the estimations. Thanks to 3 for prompting. #229The following changes were primarily made to re-established Zelig integration with WhatIf. #236

Added

`zelig_setx_to_df`

for extracted fitted values created by`setx`

.Fitted factor level variable values are returned in a single column (not by parameter level) by

`zelig_qi_to_df`

.

`setrange`

(including`setx`

used with a range of fitted values) now creates scenarios based on matches of equal length set ranges. This enables`setx`

to work with polynomials, splines, etc. (currently only when these are created outside of the`zelig`

call). #238

Resolve a bug where appropriate

`plot`

s were not created for`mlogitbayes`

. #206Arguments (such as

`xlab`

) can now be passed to`plot`

. #237`zelig_qi_to_df`

and`qi_slimmer`

bug with multinomial response models resolved. #235Resolved a bug where

`coef`

,`coefficients`

,`vcov`

,`fitted`

, and`predict`

returned errors. Thanks to 3 for initially reporting. #231Reduced number of digits show from

`summary`

for fitted model objects.

!! Breaking change !! the

`get*`

functions (e.g.`getcoef`

) now use underscores`_`

to delimit words in the function names (e.g.`get_coef`

). #214Added a number of new “getter” methods for extracting estimation elements:

`get_names`

method to return Zelig object field names. Also available via`names`

. #216`get_residuals`

to extract fitted model residuals. Also available via`residuals`

.`get_df_residuals`

method to return residual degrees-of-freedom. Also accessible via`df.residuals`

.`get_model_data`

method to return the data frame used to estimate the original model.`get_pvalue`

and`get_se`

methods to return estimated model p-values and standard errors. Thank you to 3 for contributions. #147

`zelig_qi_to_df`

function for extracting simulated quantities of interest from a Zelig object and returning them as a tidy-formatted data frame. #189`setx`

returns an error if it is unable to find a supplied variable name.`setx1`

wrapper added to facilitate piped workflows for first differences.`zelig`

can handle independent variables that are transformed using the natural logarithm inside of the call. #225

Corrected an issue where

`plot`

would tend to choose a factor level as the x-axis variable when plotting a range of simulations. #226If a factor level variable’s fitted value is not specified in

`setx`

and it is multi-modal, the last factor in the factor list is arbitrarily chosen. This replaces previous behavior where the level was randomly chosen, causing unuseful quantity of interest range plots. #226Corrected a bug where

`summary`

for ranges of`setx`

would only show the first scenario. Now all scenarios are shown. #226Corrected a bug where the README.md was not included in the CRAN build.

`to_zelig_mi`

now can accept a list of data frames. Thanks to

- Internal code improvements.

Allows users to convert an independent variable to a factor within a

`zelig`

call using`as.factor`

. #213`from_zelig_model`

function to extract original fitted model objects from`zelig`

estimation calls. This is useful for conducting non-Zelig supported post-estimation and easy integration with the texreg and stargazer packages for formatted parameter estimate tables. #189Additional MC tests for a wide range of models. #160

- Solved deep assignment issue that returned a series of warnings on build. #172

Resolves a bug from

`set`

where`sim`

would fail for models that included factor level independent variables. #156Fixed an issue with

`model-survey`

where`ids`

was hard coded as`~1`

. #144Fixed

`ATT`

bug introduced in 5.0-14. #194Fixed

`ci.plot`

bug with`timeseries`

models introduced in 5.0-15. #204

`mode`

has been deprecated. Please use`Mode`

. #152The Zelig 4

`sim`

wrapper now intelligently looks for fitted values from the reference class object if not supplied via the x argument.New

`to_zelig_mi`

utility function for combining multiply imputed data sets for passing to`zelig`

.`mi`

will also work to enable backwards compatibility. #178Initial development on a new testing architecture and more tests for

`model-*`

, Zelig 4 wrappers,`ci.plot`

, and the Zelig workflow.`graph`

method now accepts simulations from`setx`

and`setrange`

. For the former it uses`qi.plot`

and`ci.plot`

for the latter.Improved error messages for Zelig 4 wrappers.

Improved error messages if Zelig methods are supplied with too little information.

`model-arima`

now fails if the dependent variable does not vary for one of the cases.

Minor documentation improvements for Zelig 4 wrappers.

Dynamically generated README.md.

Removed plyr package dependency.

`rbind_all`

replaced by`bind_rows`

as the former is deprecated by dplyr.Other internal code improvements