version 3.0.1 (July 10 2017): - Users should now be able to run the text-based Rbrul and the Shiny app version of Rbrul (still under construction) from the same starting point. version 2.3.1 (May 9 2016): - Changed output of "deviance" to "log-likelihood" which should be more useful and corresponds to the logLik() function. (The output of the deviance() function is usually -2 * log-likelihood, except for linear fixed-effects models where it is the residual sum of squares.) version 2.3.1 (May 5 2016): - Changed error handling during loading/updating of packages. This is now set to ignore warnings, which should allow Rbrul to work on Mac systems running R 3.2.4 even though some packages were "built under" R 3.2.5. version 2.3 (October 4 2015): - There may be times when you do not wish to exclude [tokens with] a factor from your entire analysis, but you do want to exclude [that factor] from the results of a given factor group." - Goldvarb 2001 Users' Manual Since Rbrul was created in 2008, users have asked about the possibility of this type of partial exclusion. Until now, this capability has continued to be available only in Goldvarb. While Goldvarb is still the only way to achieve more complex exclusions (for example, excluding tokens from the results of one factor group based on the values of another factor group), Rbrul now emulates the Goldvarb "slash operator" in its primary usage. If one or more tokens have "/" (slash) for a certain predictor (factor group), then regardless of the value(s) of the dependent variable for those tokens, the log-odds coefficient for the slashed group is forced to zero (factor weight .500), although this is reported as "NA" for the sake of clarity. In effect, these tokens are ignored in the calculation of the other results for that predictor, while being included normally in the calculations for the other predictors. I have not tested this new function very thoroughly, only making sure that the output matched Goldvarb on a few simple models. So please give me feedback (danielezrajohnson@gmail.com) if it seems to have problems, or even if it seems to be working properly. version 2.29 (June 30 2015): - now using the term "overall mean" instead of "grand mean" for continuous dependent variables. The term "grand mean" is sometimes used to refer to a mean of means, while "overall mean" more clearly refers to what Rbrul has always reported: the overall mean value of the dependent variable. - adapting work by Jeroen Claes, added the following to the model output: 1) the number of observations (tokens) in the model; 2) AICc (a modified of Akaike's Information Criterion, recommended when the number of observations / the number of parameters < 40); 3) Somers' Dxy, a measure of model fit for logistic models; 4) VIF (variance inflation factor), a measure of multicollinearity. Values above 5 (or at least above 10) are thought to show that a predictor is highly correlated with the others. This is not necessarily a problem, especially if the correlated variables are control variables or nuisance variables rather than those of interest. (These additions use the packages car and Hmisc. For VIF, instead of the vif.mer() function, the car:vif function has been 'adapted' to handle mixed-effects models, not necessarily correctly!). - added a tutorial by Delano S. Lamy on using Rbrul for continuous dependent variables. This tutorial is written in Spanish, however it can be used to analyze data in any langauge. - changed the calculation of R-squared to directly use the r.squaredGLMM() function in the MuMIn package (Kamil Barton). Remember that these values are not true R-squared values except for linear fixed-effects models. version 2.28 (June 3 2015): - added (under Settings) the ability to adjust the convergence tolerance (check.conv.grad) for mixed-effects models fit by lme4. The default is .002. Higher values may allow models to "converge" more quickly and/or without displaying warning messages, but this does not mean they are more accurate! version 2.27 (April 3 2015): - changed the optimizer back to the lme4 default, currently "bobyqa". Instead of crashing with an error message, convergence warnings now produce red warning messages as they occur. Usually less complex models converge better. version 2.26 (March 29 2015): - following a 3/19/2015 message from Ben Bolker, the default (g)lmer optimizer has been changed to "nloptwrap, as the default bobyqa optimizer uses tolerance criteria that are probably stricter than they need to be." Optimistically, I have removed the commands blocking the convergence checks, meaning models that have not properly converged will no longer look OK, but should crash with some error message. - also removed references to "fontfamily" and "fontface" that were apparently causing problems with the plotting subroutine. version 2.25 (November 9 2014): - improved compatibility with packages that may have functions with identical names to Rbrul functions. After exiting Rbrul, the behavior of the other functions should be restored. Certain clashes may still occur, and running Rbrul without any (other) packages loaded may work better. version 2.24 (July 27 2014): - added R-squared values according to Nakagawa & Schielzeth (2013) to all types of models. There is one R2 for the fixed effects, one for the random effects, and a total R2 (their sum). The calculations are done with r.squaredGLMM() from the MuMIn (multimodel inference) package written by Kamil Barton. Logistic models use the McKelvey & Zavoina (1975) pseudo-R-squared formula. - made it so that predictors considered as part of fixed-effect interactions can't be random intercepts. The proper way to represent such interactions is using random slopes. For example, a by-word random slope for age allows for the possibility that different words change at different rates in apparent time. At present, the variances of these random slopes (like those for random intercepts) are not tested for significance within Rbrul. version 2.23 (July 14 2014): - changed the way the deviance of lme4 models is calculated and reported. This only affects mixed models with continuous dependent variables. The reported "deviance" for an individual model is the deviance (not the REML criterion) calculated at the REML fit. On the other hand, when two models are compared, they are automatically re-fit _without_ REML, which generates slightly different deviances (and differences of deviances). version 2.22 (March 21 2014): - fixed a bug in how interaction coefficients were calculated/reported by the function sumify() - made it so the final output lists the name of the response variable - since lme4 is producing so many convergence warnings right now, I have suppressed these warnings. This means that some mixed-effects models that have problems will appear to be OK. version 2.21 (March 19 2014): - changed the optimizer used by lmer() and glmer() to "bobyqa" following advice that this would be better. apparently this was already switched. never mind! version 2.2 (February 7 2014): - removed loading of Hmisc package, could not determine why it was needed - added loading of Rcpp package hopefully to prevent crashing - added setting for maxfun: maximum number of (g)lmer() function evaluations version 2.19 (January 25 2014): - fixed minor bugs with get.p() and discovered the sumify() function was not passing NA's through as coefficients. Tried to repair this. version 2.18 (November 23 2013): - changed crosstabs() so that the result is stored as a variable, "crosstab". This is similar to how model fits are stored as "model", "down", "up", etc. version 2.17 (October 10 2013): - changed get.p(), which was not working well with the new lme4 package - the deviance reported for linear mixed models is now marked REML.deviance - the AIC reported for linear mixed models is now marked REML.AIC - but note that in comparing models, the ML deviance is always used version 2.16 (September 25 2013): - updated code to work with new lme4 package (lme4-1.0) - linear mixed models now call lmer(...) - logistic mixed models now call glmer(..., family = binomial) - Rbrul will no longer work under the older versions of lme4! version 2.15 (August 21 2013): - fixed problems with random slopes - instead of just "Error Message", error messages should be more informative - updated "exclude" function to work with continuous variables version 2.1 (July 24 2013): - added support for random slopes - added AIC (Akaike Information Criterion) to model output version 2.05 (April 15 2012): - changed way that "print.data.frame" is altered to comply with R 2.15.0 version 2.02 (November 14 2011): - added "make partial interaction group" to Adjusting Menu version 2.01 (September 07 2011): - changed step.one(), step.up(), step.down() output to display "error" (when there is an error) or "main effect" (when the main effect under an interaction is not tested), instead of "999" - changed "[A]" and "[D]" in model summaries to "[p-values building from null model]" and "[p-values dropping from full model]" - fixed bug causing Rbrul to crash when all models fail to converge version 2.0 (August 07 2011): - fixed bug to allow changing p-value threshold for step-up and step-down - added trim() function to test and collapse factor levels in a model version 1.9.9.6 (January 12 2011): - made changes to get.response() and crosstab() to prevent error with levels of response variable, seemingly because of a change to how variables are passed between functions? version 1.9.9.5 (October 20 2010): - bug in loading lme4 package fixed under R 12.0, change to warning version 1.9.9 (August 14 2010): - restored calculation of R-squared (for linear fixed-effects models) and Nagelkerke pseudo-R-squared (for logistic fixed-effects models) - restored plotting functions - changed "an(other) pairwise interaction" to "a(nother) pairwise interaction" - fixed bug where if "response" was the name of a data column, it would crash version 1.9.8.5 (July 27 2010): - redirected install.packages() to repos="http://r-forge.r-project.org". - altered warning to suggest running on Mac only under 64-bit version. version 1.9.8 (July 19 2010): - replaced the text-based file loading dialog with the standard GUI using file.choose(). - added a warning concerning a possible crash while trying to load the package lme4 due to the temporarily unavailable binary for Mac OS X. the user is directed to the instructions at http://www.ling.upenn.edu/~johnson4/rbrul.html or to use rbrul(pack=F). version 1.9.7 (Mar 28 2010): - changed step.one() to give p-values to the predictors in a one-level analysis by the usual drop-and-test method. - removed comment.char="#" from the read.table() commands under "load data". comments will now have to be in their own field in delimited files, or, as before, separated from the token string by one or more spaces in token files. - installed Google Analytics to track use of Rbrul. as a result, loading Rbrul with source("http://www.danielezrajohnson.com/Rbrul.R") will now also open a blank browser window that can be closed at any time. versions 0.1 to 1.9.6 (2008-2010): - developments lost in the mists of time.