[Lme4-commits] r1826 - in www: . misc

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Jun 27 06:56:20 CEST 2013


Author: bbolker
Date: 2013-06-27 06:56:20 +0200 (Thu, 27 Jun 2013)
New Revision: 1826

Added:
   www/misc/lme4_conversion.rmd
Modified:
   www/index.php
   www/misc/lme4_conversion.html
   www/misc/lme4_conversion.md
Log:
update front page



Modified: www/index.php
===================================================================
--- www/index.php	2013-06-14 19:22:46 UTC (rev 1825)
+++ www/index.php	2013-06-27 04:56:20 UTC (rev 1826)
@@ -43,74 +43,17 @@
 
 <!-- end of project description -->
 
-<h2>Resources</h2>
+<code>lme4</code> development has moved to <a href="https://github.com/lme4/lme4/">Github</a>; please go there for up-to-date development versions and information.  
+
+<h3>Resources that remain on R-forge</h3>
 <ul>
-<li>A <a href="misc/lme4_conversion.html">guide</a> to changes in the upcoming release of <code>lme4</code> (<a href="misc/lme4_conversion.md">Markdown source</a>, <a href="misc/lme4_compat_report.html">downstream package compatibility report</a>)</li>
-<li>The <a href="http://<?php echo $domain; ?>/projects/<?php echo $group_name; ?>/">project summary page</a>, including links to the 
-<a href="http://r-forge.r-project.org/scm/?group_id=60">source code browser</a>, 
-<a href="http://r-forge.r-project.org/tracker/?group_id=60">bug and feature request trackers</a>, 
-<a href="http://r-forge.r-project.org/R/?group_id=60">compiled package files</a>, etc.</li>
-<li><a href="./doxygen/"><em>Doxygen</em> documentation</a> of the underlying C functions</li>
 <li><a href="bib/lme4bib.html">References to articles and other research</a> using <code>nlme</code> or <code>lme4</code>, or the corresponding
 <a href="bib/lme4bib.bib">BibTeX file</a>. (If you would like to add your work to this database, please email <code>vasishth.shravan at gmail dot com</code>.)</li>
 <li><a href="./slides/">Slides</a> from short courses on <code>lme4</code></li>
 <li><a href="./lMMwR/">Chapter drafts</a> of the book <em>lme4:
 Mixed-effects Modeling with R</em></li>
-
-<h2>Installation</h2>
-<p>Binary and source packages of recent versions
-of the development version  (<code>lme4</code>, previously <code>lme4Eigen</code>) are available
-<a href="./repos"><strong>here</strong></a>,
-as well as MacOS binaries for <code>RcppEigen</code>.
-The current status for the various versions is as follows:
-<ul>
-<li>The stable release of <code>lme4</code> on CRAN (version 0.999375-42) is the last version of this branch.</li>
-<li>R-forge has <code>lme4.0</code> (version 0.9999-1), which is the continuation of the old branch.  It should be perfectly compatible with the current CRAN version, <emph>except</emph> for its package name.</li>
-<li>R-forge also has a new version of <code>lme4</code> (version 0.999902344-0), which is as far as possible <emph>externally</emph> compatible with the old branch, but its internal structures have changed, so packages dependent on the old structures will need to be updated to work with the new release.  The new version also produces objects of class <code>merMod</code> rather than class <code>mer</code>.</li>
-<li>An older development branch, <code>lme4a</code>, is also available on R-forge, but we believe that it is now dominated by the new development branch (i.e. the r-forge version of <code>lme4</code>), and we strongly request that you work with the new version. If you encounter a situation where <code>lme4</code> can't do something that <code>lme4a</code> can, please inform the maintainers.
-</li>
+<p><a href="./repos">Repository</a> containing (relatively) up-to-date binary and source packages of recent versions
+of the development version (for most up-to-date code, which must be installed from source, see Github).
 </ul>
-<p>
-<ul>
-<li>Although installing packages into older versions of R is sometimes possible by downloading and manually installing the package files, installation will generally work <emph>much</emph> more smoothly if you are running the latest version of R.  If you want help installing <code>lme4</code> to an older version of R you will have to provide a very good reason ...
-</li>
-<li>You may have to install dependencies 
-(e.g. <code>RcppEigen</code> and <code>minqa</code>
-for <code>lme4</code>) from other repositories first.</li>
-</ul>
-<ol>
-<li>If possible, you should install the most recent version of the development version built on r-forge, e.g.
-<pre>
-install.packages("lme4",repos="http://r-forge.r-project.org")
-</pre>.
-</li>
-<li>If the appropriate version for your OS is not available 
-(e.g. binaries for MacOS), the next best option is to install
-the most recent version available at the <code>lme4</code>
-repository, e.g.
-<pre>
-install.packages("lme4",repos="http://lme4.r-forge.r-project.org/repos")
-</pre>
-These versions will generally be slightly less up-to-date than the ones built by R-forge, because they must be updated by hand.
-</li>
-<li>
-Alternatively (e.g. if you have network problems),
-you should be able to install these versions
-by descending through the directory hierarchy 
-from <a href="http://lme4.r-forge.r-project.org/repos">here</a>,
-downloading a copy and using
-<pre>
-install.packages("[name_of_file_here]",repos=NULL)
-</pre>
-or a menu item such as "install from local zip file"
-</li>
-<li>The most reliable way to install the package 
-is to check out 
-<a href="http://r-forge.r-project.org/scm/?group_id=60">the most recent copy</a> and build it from source on your machine; however, this may require extra tools (Subversion client, compilers, etc.).  Alternatively, if you have the compiler tools but don't want to mess with Subversion, you will often get farther with <code>install.packages(...,type="source")</code> than trying to find a binary package compiled for your OS.
-</li>
-<li>
-If all else fails, please contact the maintainers.
-</li>
-</p>
 </body>
 </html>

Modified: www/misc/lme4_conversion.html
===================================================================
--- www/misc/lme4_conversion.html	2013-06-14 19:22:46 UTC (rev 1825)
+++ www/misc/lme4_conversion.html	2013-06-27 04:56:20 UTC (rev 1826)
@@ -1,281 +1,282 @@
-<div id="lme4-release-guide"
-><h1
-  >lme4 release guide</h1
-  ><div id="version-numbering"
-  ><h2
-    >Version numbering</h2
-    ><p
-    >As <a href="https://stat.ethz.ch/pipermail/r-sig-mixed-models/2012q1/014811.html"
-      >previously announced on the lme4 mailing list</a
-      >, we will shortly be releasing a new version of <code
-      >lme4</code
-      >, a descendant of the previous development version <code
-      >lme4Eigen</code
-      >. For users who do not access any internal structures, there will be few backward-incompatible changes.</p
-    ><ul
-    ><li
-      >the version of <code
-	>lme4</code
-	> currently on R-forge (currently version 0.999902344-0, to be released as version 1.0 (!)) should be used for new projects</li
-      ><li
-      >The current CRAN version (0.999375-42) will be replaced by a nearly identical version called <code
-	>lme4.0</code
-	> (currently version 0.9999-2; the only backward-incompatible change in this version is a fix to the AGQ code contributed by Wayne Zhang). <code
-	>lme4.0</code
-	> is a maintenance version and will only be changed to fix documented bugs.</li
-      ><li
-      >all other versions (<code
-	>lme4a</code
-	>, <code
-	>lme4b</code
-	>, <code
-	>lme4Eigen</code
-	> from R-forge) are deprecated.</li
-      ></ul
-    ></div
-  ><div id="release-notes-for-end-users"
-  ><h2
-    >Release notes for end-users</h2
-    ><div id="changes-in-behavior"
-    ><h3
-      >Changes in behavior</h3
-      ><ul
-      ><li
-	>Because the internal computational machinery has changed, results from the newest version of <code
-	  >lme4</code
-	  > will not be numerically identical to those from previous versions. For reasonably well-defined fits, they will be extremely close (within numerical tolerances of 1e-4 or so), but for unstable or poorly-defined fits the results may change, and very unstable fits may fail when they (apparently) succeeded with previous versions. Similarly, some fits may be slower with the new version, although on average the new version should be faster and more stable. There are more numerical tuning options available than before (see below); non-default settings may restore the speed and/or ability to fit a particular model without an error.</li
-	><li
-	>In the past, <code
-	  >lmer</code
-	  > automatically called <code
-	  >glmer</code
-	  > when <code
-	  >family</code
-	  > was specified. It still does so, but now warns the user that they should preferably use <code
-	  >glmer</code
-	  > directly.</li
-	><li
-	><code
-	  >VarCorr</code
-	  > returns its results in the same format as before (as a list of variance-covariance matrices with <code
-	  >correlation</code
-	  > and <code
-	  >stddev</code
-	  > attributes, plus a <code
-	  >sc</code
-	  > attribute giving the residual standard deviation/scale parameter when appropriate), but prints them in a different (nicer) way.</li
-	><li
-	>by default <code
-	  >residuals</code
-	  > gives deviance (rather than Pearson) residuals when applied to <code
-	  >glmer</code
-	  > fits (a side effect of matching <code
-	  >glm</code
-	  > behaviour more closely).</li
-	></ul
-      ></div
-    ><div id="other-user-visible-changes"
-    ><h3
-      >Other user-visible changes</h3
-      ><ul
-      ><li
-	>More use is made of S3 rather than S4 classes and methods: one side effect is that methods such as <code
-	  >fixef</code
-	  > no longer conflict with the <code
-	  >nlme</code
-	  > package.</li
-	><li
-	>The internal optimizer has changed. <code
-	  >[gn]lmer</code
-	  > now has an <code
-	  >optimizer</code
-	  > argument; <code
-	  >"Nelder_Mead"</code
-	  > is the default for <code
-	  >[n]lmer</code
-	  >, while a combination of <code
-	  >"bobyqa"</code
-	  > (an alternative derivative-free method) and <code
-	  >"Nelder_Mead"</code
-	  > is the default for <code
-	  >glmer</code
-	  >; to use the <code
-	  >nlminb</code
-	  > optimizer as in the old version of lme4, you can use <code
-	  >optimizer="optimx"</code
-	  > with <code
-	  >control=list(method="nlminb")</code
-	  > (you will need the <code
-	  >optimx</code
-	  > package to be installed and loaded). See the help pages for details.</li
-	><li
-	>(FIXME: describe residuals)</li
-	><li
-	>Families in GLMMs are no longer restricted to built-in/hard-coded families; any family described in <code
-	  >?family</code
-	  >, or following that design, is usable (although there are some hard-coded families, which will be faster)</li
-	><li
-	><code
-	  >[gn]lmer</code
-	  > now produces objects of class <code
-	  >merMod</code
-	  > rather than class <code
-	  >mer</code
-	  > as before</li
-	></ul
-      ></div
-    ><div id="new-features"
-    ><h3
-      >New features</h3
-      ><ul
-      ><li
-	>a general-purpose <code
-	  >getME()</code
-	  > accessor method has been used to allow extraction of a wide variety of components of a mixed-model fit; this has been backported to <code
-	  >lme4.0</code
-	  > for compatibility</li
-	><li
-	><code
-	  >bootMer</code
-	  >, a framework for obtaining parameter confidence intervals by parametric bootstrapping</li
-	><li
-	><code
-	  >plot</code
-	  > methods similar to those from the <code
-	  >nlme</code
-	  > package (although missing <code
-	  >augPred</code
-	  >)</li
-	><li
-	>a <code
-	  >predict</code
-	  > method, allowing a choice of which random effects are included in the prediction</li
-	><li
-	>likelihood profiling (and profile confidence intervals) for <code
-	  >lmer</code
-	  > and <code
-	  >glmer</code
-	  > results</li
-	><li
-	><code
-	  >nAGQ=0</code
-	  >, an option to do fast (but inaccurate) fitting of GLMMs</li
-	><li
-	>negative binomial models</li
-	></ul
-      ></div
-    ><div id="still-non-existent-features"
-    ><h3
-      >Still non-existent features</h3
-      ><ul
-      ><li
-	>Automatic MCMC sampling based on the fit turns out to be very difficult to implement in a way that is really broadly reliable and robust; <code
-	  >mcmcsamp</code
-	  > will not be implemented in the near future</li
-	><li
-	>"R-side" structures (within-block correlation and heteroscedasticity) are not on the current timetable</li
-	></ul
-      ></div
-    ></div
-  ><div id="notes-for-package-writers"
-  ><h2
-    >Notes for package writers</h2
-    ><p
-    ><a href="./lme4_compat_report.html"
-      >Current package compatibility test results</a
-      ></p
-    ><ul
-    ><li
-      ><code
-	>lme4</code
-	>-old and <code
-	>lme4.0</code
-	> produce objects of class <code
-	>mer</code
-	>, <code
-	>lme4</code
-	>-new produces <code
-	>merMod</code
-	> objects, so any methods written for class <code
-	>mer</code
-	> will at least have to be copied to work with class <code
-	>merMod</code
-	></li
-      ><li
-      >You can distinguish <code
-	>lme4</code
-	>-old from <code
-	>lme4</code
-	>-new via package version; the last old-style version of <code
-	>lme4</code
-	> on CRAN is 0.999375-42, so anything after that is <code
-	>lme4</code
-	>-new (the current version on <a href="http://lme4.r-forge.r-project.org/repos"
-	><code
-	  >http://lme4.r-forge.r-project.org/repos</code
-	  ></a
-	> is 0.999902344-0).</li
-      ><li
-      >So you can test e.g. if <code
-	>packageVersion("lme4")<="0.999375-43"</code
-	> (yes, you do want the quotation marks; package versions are weird objects in R).</li
-      ><li
-      ><code
-	>getME(.,.)</code
-	> should often get the components you want</li
-      ><li
-      >As mentioned above, <code
-	>lme4</code
-	> now uses S3 rather than S4 methods in many places. That makes some things easier, but it also means (for example) that classes and methods do not get imported in the same way.</li
-      ></ul
-    ><div id="things-that-wont-work"
-    ><h3
-      >Things that won't work</h3
-      ><ul
-      ><li
-	>Direct extraction of slots via <code
-	  >@</code
-	  > (use <code
-	  >getME()</code
-	  > instead).</li
-	><li
-	>Methods that depend on <code
-	  >lme4</code
-	  > producing objects of class <code
-	  >mer</code
-	  > (write new methods for class <code
-	  >merMod</code
-	  >; <code
-	  >lme4</code
-	  > now has <code
-	  >isLMM()</code
-	  >, <code
-	  >isGLMM()</code
-	  >, <code
-	  >isNLMM()</code
-	  > that should help you distinguish different types of model if you need to).</li
-	><li
-	>The <code
-	  >method</code
-	  > argument is no longer used in <code
-	  >glmer</code
-	  > (<code
-	  >nAGQ=1</code
-	  > vs <code
-	  >nAGQ>1</code
-	  > specifies whether to use Laplace or AGQ).</li
-	><li
-	><code
-	  >expandSlash</code
-	  > no longer exists (although it does exist within the <code
-	  >findbars</code
-	  > function: could be reconstituted??).</li
-	><li
-	>Because S4 methods are used less, and (S4) <em
-	  >reference</em
-	  > classes are used, considerably fewer methods are exported, but they are generally available as reference class method "slots".</li
-	></ul
-      ></div
-    ></div
-  ></div
->
+<!DOCTYPE html>
+<!-- saved from url=(0014)about:internet -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+
+<title>lme4 release guide</title>
+
+<style type="text/css">
+body, td {
+   font-family: sans-serif;
+   background-color: white;
+   font-size: 12px;
+   margin: 8px;
+}
+
+tt, code, pre {
+   font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
+}
+
+h1 { 
+   font-size:2.2em; 
+}
+
+h2 { 
+   font-size:1.8em; 
+}
+
+h3 { 
+   font-size:1.4em; 
+}
+
+h4 { 
+   font-size:1.0em; 
+}
+
+h5 { 
+   font-size:0.9em; 
+}
+
+h6 { 
+   font-size:0.8em; 
+}
+
+a:visited {
+   color: rgb(50%, 0%, 50%);
+}
+
+pre {	
+   margin-top: 0;
+   max-width: 95%;
+   border: 1px solid #ccc;
+   white-space: pre-wrap;
+}
+
+pre code {
+   display: block; padding: 0.5em;
+}
+
+code.r, code.cpp {
+   background-color: #F8F8F8;
+}
+
+table, td, th {
+  border: none;
+}
+
+blockquote {
+   color:#666666;
+   margin:0;
+   padding-left: 1em;
+   border-left: 0.5em #EEE solid;
+}
+
+hr {
+   height: 0px;
+   border-bottom: none;
+   border-top-width: thin;
+   border-top-style: dotted;
+   border-top-color: #999999;
+}
+
+ at media print {
+   * { 
+      background: transparent !important; 
+      color: black !important; 
+      filter:none !important; 
+      -ms-filter: none !important; 
+   }
+
+   body { 
+      font-size:12pt; 
+      max-width:100%; 
+   }
+       
+   a, a:visited { 
+      text-decoration: underline; 
+   }
+
+   hr { 
+      visibility: hidden;
+      page-break-before: always;
+   }
+
+   pre, blockquote { 
+      padding-right: 1em; 
+      page-break-inside: avoid; 
+   }
+
+   tr, img { 
+      page-break-inside: avoid; 
+   }
+
+   img { 
+      max-width: 100% !important; 
+   }
+
+   @page :left { 
+      margin: 15mm 20mm 15mm 10mm; 
+   }
+     
+   @page :right { 
+      margin: 15mm 10mm 15mm 20mm; 
+   }
+
+   p, h2, h3 { 
+      orphans: 3; widows: 3; 
+   }
+
+   h2, h3 { 
+      page-break-after: avoid; 
+   }
+}
+
+</style>
+
+<!-- Styles for R syntax highlighter -->
+<style type="text/css">
+   pre .operator,
+   pre .paren {
+     color: rgb(104, 118, 135)
+   }
+
+   pre .literal {
+     color: rgb(88, 72, 246)
+   }
+
+   pre .number {
+     color: rgb(0, 0, 205);
+   }
+
+   pre .comment {
+     color: rgb(76, 136, 107);
+   }
+
+   pre .keyword {
+     color: rgb(0, 0, 255);
+   }
+
+   pre .identifier {
+     color: rgb(0, 0, 0);
+   }
+
+   pre .string {
+     color: rgb(3, 106, 7);
+   }
+</style>
+
+<!-- R syntax highlighter -->
+<script type="text/javascript">
+var hljs=new function(){function m(p){return p.replace(/&/gm,"&").replace(/</gm,"<")}function f(r,q,p){return RegExp(q,"m"+(r.cI?"i":"")+(p?"g":""))}function b(r){for(var p=0;p<r.childNodes.length;p++){var q=r.childNodes[p];if(q.nodeName=="CODE"){return q}if(!(q.nodeType==3&&q.nodeValue.match(/\s+/))){break}}}function h(t,s){var p="";for(var r=0;r<t.childNodes.length;r++){if(t.childNodes[r].nodeType==3){var q=t.childNodes[r].nodeValue;if(s){q=q.replace(/\n/g,"")}p+=q}else{if(t.childNodes[r].nodeName=="BR"){p+="\n"}else{p+=h(t.childNodes[r])}}}if(/MSIE [678]/.test(navigator.userAgent)){p=p.replace(/\r/g,"\n")}return p}function a(s){var r=s.className.split(/\s+/);r=r.concat(s.parentNode.className.split(/\s+/));for(var q=0;q<r.length;q++){var p=r[q].replace(/^language-/,"");if(e[p]){return p}}}function c(q){var p=[];(function(s,t){for(var r=0;r<s.childNodes.length;r++){if(s.childNodes[r].nodeType==3){t+=s.childNodes[r].nodeValue.length}else{if(s.childNodes[r].nodeName=="BR"){t+=1}else{if(s.childNodes[r].nodeType==1){p.push({event:"start",offset:t,node:s.childNodes[r]});t=arguments.callee(s.childNodes[r],t);p.push({event:"stop",offset:t,node:s.childNodes[r]})}}}}return t})(q,0);return p}function k(y,w,x){var q=0;var z="";var s=[];function u(){if(y.length&&w.length){if(y[0].offset!=w[0].offset){return(y[0].offset<w[0].offset)?y:w}else{return w[0].event=="start"?y:w}}else{return y.length?y:w}}function t(D){var A="<"+D.nodeName.toLowerCase();for(var B=0;B<D.attributes.length;B++){var C=D.attributes[B];A+=" "+C.nodeName.toLowerCase();if(C.value!==undefined&&C.value!==false&&C.value!==null){A+='="'+m(C.value)+'"'}}return A+">"}while(y.length||w.length){var v=u().splice(0,1)[0];z+=m(x.substr(q,v.offset-q));q=v.offset;if(v.event=="start"){z+=t(v.node);s.push(v.node)}else{if(v.event=="stop"){var p,r=s.length;do{r--;p=s[r];z+=("</"+p.nodeName.toLowerCase()+">")}while(p!=v.node);s.splice(r,1);while(r<s.length){z+=t(s[r]);r++}}}}return z+m(x.substr(q))}function j(){function q(x,y,v){if(x.compiled){return}var u;var s=[];if(x.k){x.lR=f(y,x.l||hljs.IR,true);for(var w in x.k){if(!x.k.hasOwnProperty(w)){continue}if(x.k[w] instanceof Object){u=x.k[w]}else{u=x.k;w="keyword"}for(var r in u){if(!u.hasOwnProperty(r)){continue}x.k[r]=[w,u[r]];s.push(r)}}}if(!v){if(x.bWK){x.b="\\b("+s.join("|")+")\\s"}x.bR=f(y,x.b?x.b:"\\B|\\b");if(!x.e&&!x.eW){x.e="\\B|\\b"}if(x.e){x.eR=f(y,x.e)}}if(x.i){x.iR=f(y,x.i)}if(x.r===undefined){x.r=1}if(!x.c){x.c=[]}x.compiled=true;for(var t=0;t<x.c.length;t++){if(x.c[t]=="self"){x.c[t]=x}q(x.c[t],y,false)}if(x.starts){q(x.starts,y,false)}}for(var p in e){if(!e.hasOwnProperty(p)){continue}q(e[p].dM,e[p],true)}}function d(B,C){if(!j.called){j();j.called=true}function q(r,M){for(var L=0;L<M.c.length;L++){if((M.c[L].bR.exec(r)||[null])[0]==r){return M.c[L]}}}function v(L,r){if(D[L].e&&D[L].eR.test(r)){return 1}if(D[L].eW){var M=v(L-1,r);return M?M+1:0}return 0}function w(r,L){return L.i&&L.iR.test(r)}function K(N,O){var M=[];for(var L=0;L<N.c.length;L++){M.push(N.c[L].b)}var r=D.length-1;do{if(D[r].e){M.push(D[r].e)}r--}while(D[r+1].eW);if(N.i){M.push(N.i)}return f(O,M.join("|"),true)}function p(M,L){var N=D[D.length-1];if(!N.t){N.t=K(N,E)}N.t.lastIndex=L;var r=N.t.exec(M);return r?[M.substr(L,r.index-L),r[0],false]:[M.substr(L),"",true]}function z(N,r){var L=E.cI?r[0].toLowerCase():r[0];var M=N.k[L];if(M&&M instanceof Array){return M}return false}function F(L,P){L=m(L);if(!P.k){return L}var r="";var O=0;P.lR.lastIndex=0;var M=P.lR.exec(L);while(M){r+=L.substr(O,M.index-O);var N=z(P,M);if(N){x+=N[1];r+='<span class="'+N[0]+'">'+M[0]+"</span>"}else{r+=M[0]}O=P.lR.lastIndex;M=P.lR.exec(L)}return r+L.substr(O,L.length-O)}function J(L,M){if(M.sL&&e[M.sL]){var r=d(M.sL,L);x+=r.keyword_count;return r.value}else{return F(L,M)}}function I(M,r){var L=M.cN?'<span class="'+M.cN+'">':"";if(M.rB){y+=L;M.buffer=""}else{if(M.eB){y+=m(r)+L;M.buffer=""}else{y+=L;M.buffer=r}}D.push(M);A+=M.r}function G(N,M,Q){var R=D[D.length-1];if(Q){y+=J(R.buffer+N,R);return false}var P=q(M,R);if(P){y+=J(R.buffer+N,R);I(P,M);return P.rB}var L=v(D.length-1,M);if(L){var O=R.cN?"</span>":"";if(R.rE){y+=J(R.buffer+N,R)+O}else{if(R.eE){y+=J(R.buffer+N,R)+O+m(M)}else{y+=J(R.buffer+N+M,R)+O}}while(L>1){O=D[D.length-2].cN?"</span>":"";y+=O;L--;D.length--}var r=D[D.length-1];D.length--;D[D.length-1].buffer="";if(r.starts){I(r.starts,"")}return R.rE}if(w(M,R)){throw"Illegal"}}var E=e[B];var D=[E.dM];var A=0;var x=0;var y="";try{var s,u=0;E.dM.buffer="";do{s=p(C,u);var t=G(s[0],s[1],s[2]);u+=s[0].length;if(!t){u+=s[1].length}}while(!s[2]);if(D.length>1){throw"Illegal"}return{r:A,keyword_count:x,value:y}}catch(H){if(H=="Illegal"){return{r:0,keyword_count:0,value:m(C)}}else{throw H}}}function g(t){var p={keyword_count:0,r:0,value:m(t)};var r=p;for(var q in e){if(!e.hasOwnProperty(q)){continue}var s=d(q,t);s.language=q;if(s.keyword_count+s.r>r.keyword_count+r.r){r=s}if(s.keyword_count+s.r>p.keyword_count+p.r){r=p;p=s}}if(r.language){p.second_best=r}return p}function i(r,q,p){if(q){r=r.replace(/^((<[^>]+>|\t)+)/gm,function(t,w,v,u){return w.replace(/\t/g,q)})}if(p){r=r.replace(/\n/g,"<br>")}return r}function n(t,w,r){var x=h(t,r);var v=a(t);var y,s;if(v){y=d(v,x)}else{return}var q=c(t);if(q.length){s=document.createElement("pre");s.innerHTML=y.value;y.value=k(q,c(s),x)}y.value=i(y.value,w,r);var u=t.className;if(!u.match("(\\s|^)(language-)?"+v+"(\\s|$)")){u=u?(u+" "+v):v}if(/MSIE [678]/.test(navigator.userAgent)&&t.tagName=="CODE"&&t.parentNode.tagName=="PRE"){s=t.parentNode;var p=document.createElement("div");p.innerHTML="<pre><code>"+y.value+"</code></pre>";t=p.firstChild.firstChild;p.firstChild.cN=s.cN;s.parentNode.replaceChild(p.firstChild,s)}else{t.innerHTML=y.value}t.className=u;t.result={language:v,kw:y.keyword_count,re:y.r};if(y.second_best){t.second_best={language:y.second_best.language,kw:y.second_best.keyword_count,re:y.second_best.r}}}function o(){if(o.called){return}o.called=true;var r=document.getElementsByTagName("pre");for(var p=0;p<r.length;p++){var q=b(r[p]);if(q){n(q,hljs.tabReplace)}}}function l(){if(window.addEventListener){window.addEventListener("DOMContentLoaded",o,false);window.addEventListener("load",o,false)}else{if(window.attachEvent){window.attachEvent("onload",o)}else{window.onload=o}}}var e={};this.LANGUAGES=e;this.highlight=d;this.highlightAuto=g;this.fixMarkup=i;this.highlightBlock=n;this.initHighlighting=o;this.initHighlightingOnLoad=l;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="\\b(0[xX][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.ER="(?![\\s\\S])";this.BE={b:"\\\\.",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.inherit=function(r,s){var p={};for(var q in r){p[q]=r[q]}if(s){for(var q in s){p[q]=s[q]}}return p}}();hljs.LANGUAGES.cpp=function(){var a={keyword:{"false":1,"int":1,"float":1,"while":1,"private":1,"char":1,"catch":1,"export":1,virtual:1,operator:2,sizeof:2,dynamic_cast:2,typedef:2,const_cast:2,"const":1,struct:1,"for":1,static_cast:2,union:1,namespace:1,unsigned:1,"long":1,"throw":1,"volatile":2,"static":1,"protected":1,bool:1,template:1,mutable:1,"if":1,"public":1,friend:2,"do":1,"return":1,"goto":1,auto:1,"void":2,"enum":1,"else":1,"break":1,"new":1,extern:1,using:1,"true":1,"class":1,asm:1,"case":1,typeid:1,"short":1,reinterpret_cast:2,"default":1,"double":1,register:1,explicit:1,signed:1,typename:1,"try":1,"this":1,"switch":1,"continue":1,wchar_t:1,inline:1,"delete":1,alignof:1,char16_t:1,char32_t:1,constexpr:1,decltype:1,noexcept:1,nullptr:1,static_assert:1,thread_local:1,restrict:1,_Bool:1,complex:1},built_in:{std:1,string:1,cin:1,cout:1,cerr:1,clog:1,stringstream:1,istringstream:1,ostringstream:1,auto_ptr:1,deque:1,list:1,queue:1,stack:1,vector:1,map:1,set:1,bitset:1,multiset:1,multimap:1,unordered_set:1,unordered_map:1,unordered_multiset:1,unordered_multimap:1,array:1,shared_ptr:1}};return{dM:{k:a,i:"</",c:[hljs.CLCM,hljs.CBLCLM,hljs.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},hljs.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:a,r:10,c:["self"]}]}}}();hljs.LANGUAGES.r={dM:{c:[hljs.HCM,{cN:"number",b:"\\b0[xX][0-9a-fA-F]+[Li]?\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\b\\d+(?:[eE][+\\-]?\\d*)?L\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\b\\d+\\.(?!\\d)(?:i\\b)?",e:hljs.IMMEDIATE_RE,r:1},{cN:"number",b:"\\b\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"keyword",b:"(?:tryCatch|library|setGeneric|setGroupGeneric)\\b",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\.\\.\\.",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\.\\.\\d+(?![\\w.])",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\b(?:function)",e:hljs.IMMEDIATE_RE,r:2},{cN:"keyword",b:"(?:if|in|break|next|repeat|else|for|return|switch|while|try|stop|warning|require|attach|detach|source|setMethod|setClass)\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"literal",b:"(?:NA|NA_integer_|NA_real_|NA_character_|NA_complex_)\\b",e:hljs.IMMEDIATE_RE,r:10},{cN:"literal",b:"(?:NULL|TRUE|FALSE|T|F|Inf|NaN)\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"identifier",b:"[a-zA-Z.][a-zA-Z0-9._]*\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"operator",b:"<\\-(?!\\s*\\d)",e:hljs.IMMEDIATE_RE,r:2},{cN:"operator",b:"\\->|<\\-",e:hljs.IMMEDIATE_RE,r:1},{cN:"operator",b:"%%|~",e:hljs.IMMEDIATE_RE},{cN:"operator",b:">=|<=|==|!=|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||\\$|:",e:hljs.IMMEDIATE_RE,r:0},{cN:"operator",b:"%",e:"%",i:"\\n",r:1},{cN:"identifier",b:"`",e:"`",r:0},{cN:"string",b:'"',e:'"',c:[hljs.BE],r:0},{cN:"string",b:"'",e:"'",c:[hljs.BE],r:0},{cN:"paren",b:"[[({\\])}]",e:hljs.IMMEDIATE_RE,r:0}]}};
+hljs.initHighlightingOnLoad();
+</script>
+
+
+
+
+</head>
+
+<body>
+<h1>lme4 release guide</h1>
+
+<h2>To add/FIXME</h2>
+
+<ul>
+<li>RcppEigen issues for MacOS users (<em>no longer an issue as of April 2013?</em>)</li>
+<li>mention KR tests etc. in <code>pbkrtest</code>?</li>
+</ul>
+
+<h2>Version numbering</h2>
+
+<p>As <a href="https://stat.ethz.ch/pipermail/r-sig-mixed-models/2012q1/014811.html">previously announced on the lme4 mailing list</a>, we will shortly be releasing a new version of <code>lme4</code>, a descendant of the previous development version <code>lme4Eigen</code>. For users who do not access any internal structures, there will be few backward-incompatible changes.</p>
+
+<ul>
+<li>the version of <code>lme4</code> currently on <a href="github">https://github.com/lme4/lme4/</a> should be used for new projects if possible; periodically rebuilt versions are available from <code>http://lme4.r-forge.r-project.org/repos</code>, or the most recent version can be installed (from source: development toolchain including compiler etc. are required, and you may have to install <code>RcppEigen</code> from CRAN first) via <code>library("devtools"); install_github("lme4",user="lme4")</code> (for the very-most-recent branch use <code>install_github("lme4",user="lme4",ref="modular")</code>).</li>
+<li>The current CRAN version (0.999375-42) will be replaced by a nearly identical version called <code>lme4.0</code> (currently version 0.9999-2; the only backward-incompatible change in this version is a fix to the AGQ code contributed by Wayne Zhang).  <code>lme4.0</code> is a maintenance version and will only be changed to fix documented bugs. <code>mer</code> objects from older versions of <code>lme4</code> can be converted to <code>lme4.0</code>-usable form via <code>convert_old_lme4()</code> in the <code>lme4.0</code> package.</li>
+<li>all other versions (<code>lme4a</code>, <code>lme4b</code>, <code>lme4Eigen</code> from R-forge) are deprecated.</li>
+</ul>
+
+<h2>Release notes for end-users</h2>
+
+<h3>Changes in behavior</h3>
+
+<ul>
+<li>Because the internal computational machinery has changed, results from the newest version of <code>lme4</code> will not be numerically identical to those from previous versions.  For reasonably well-defined fits, they will be extremely close (within numerical tolerances of 1e-4 or so), but for unstable or poorly-defined fits the results may change, and very unstable fits may fail when they (apparently) succeeded with previous versions. Similarly, some fits may be slower with the new version, although on average the new version should be faster and more stable. There are more numerical tuning options available than before (see below); non-default settings may restore the speed and/or ability to fit a particular model without an error.</li>
+<li>In the past, <code>lmer</code> automatically called <code>glmer</code> when <code>family</code> was specified. It still does so, but now warns the user that they should preferably use <code>glmer</code> directly.</li>
+<li><code>VarCorr</code> returns its results in the same format as before (as a list of variance-covariance matrices with <code>correlation</code> and <code>stddev</code> attributes, plus a <code>sc</code> attribute giving the residual standard deviation/scale parameter when appropriate), but prints them in a different (nicer) way.</li>
+<li>by default <code>residuals</code> gives deviance (rather than Pearson) residuals when applied to <code>glmer</code> fits (a side effect of matching <code>glm</code> behaviour more closely).</li>
+</ul>
+
+<h3>Other user-visible changes</h3>
+
+<ul>
+<li>More use is made of S3 rather than S4 classes and methods: one side effect is that methods such as <code>fixef</code> no longer conflict with the <code>nlme</code> package.</li>
+<li>The internal optimizer has changed. <code>[gn]lmer</code> now has an <code>optimizer</code> argument; <code>"Nelder_Mead"</code> is the default for <code>[n]lmer</code>, while a combination of <code>"bobyqa"</code> (an alternative derivative-free method) and <code>"Nelder_Mead"</code> is the default for <code>glmer</code>; to use the <code>nlminb</code> optimizer as in the old version of lme4, you can use <code>optimizer="optimx"</code> with <code>control=list(method="nlminb")</code> (you will need the <code>optimx</code> package to be installed and loaded). See the help pages for details.</li>
+<li>(FIXME: describe residuals)</li>
+<li>Families in GLMMs are no longer restricted to built-in/hard-coded families; any family described in <code>?family</code>, or following that design, is usable (although there are some hard-coded families, which will be faster)</li>
+<li><code>[gn]lmer</code> now produces objects of class <code>merMod</code> rather than class <code>mer</code> as before</li>
+</ul>
+
+<h3>New features</h3>
+
+<ul>
+<li>A general-purpose <code>getME()</code> accessor method has been used to allow extraction of a wide variety of components of a mixed-model fit; this has been backported to <code>lme4.0</code> for compatibility</li>
+<li><code>bootMer</code>, a framework for obtaining parameter confidence intervals by parametric bootstrapping</li>
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/lme4 -r 1826


More information about the Lme4-commits mailing list