From Torsten.Hothorn at rzmail.uni-erlangen.de Thu Feb 23 16:53:44 2006 From: Torsten.Hothorn at rzmail.uni-erlangen.de (Torsten Hothorn) Date: Thu, 23 Feb 2006 16:53:44 +0100 (CET) Subject: useR! 2006 - 2006-02-28 Submission Deadline Message-ID: Dear useRs, The submission deadline for `useR! 2006', the second R user conference to be held in Vienna June 15-17 2006, is only five days ahead. So this weekend is the perfect time to submit abstracts for user-contributed sessions! The sessions will be a platform to bring together R users, contributers, package maintainers and developers in the S spirit that `users are developers'. We invite all R users to submit abstracts on topics presenting innovations or exciting applications of R. A web page offering more information on the `useR!' conference, abstract submission, registration and Vienna is available at http://www.R-project.org/useR-2006/ We look forward to receiving your abstract! The organizing committee: Torsten Hothorn, Achim Zeileis, David Meyer, Bettina Gruen, Kurt Hornik and Friedrich Leisch From Achim.Zeileis at wu-wien.ac.at Mon Mar 27 16:16:51 2006 From: Achim.Zeileis at wu-wien.ac.at (Achim Zeileis) Date: Mon, 27 Mar 2006 16:16:51 +0200 (CEST) Subject: useR! 2006 program online Message-ID: Dear useRs, we are happy to inform you that the program for the 2nd R user conference useR! 2006 is now available online from the conference Web page at http://www.R-project.org/useR-2006/program.html We would like to thank the useR community for submitting so many interesting abstracts about an astonishing variety of R applications. We are looking forward to an exciting and diversified conference! The useR! organization team and program committee From p.murrell at auckland.ac.nz Mon Mar 27 21:39:26 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Tue, 28 Mar 2006 07:39:26 +1200 Subject: DSC 2007 Message-ID: <44283F6E.2010607@stat.auckland.ac.nz> Hi Following on from the "Distributed Statistical Computing" conferences in Vienna (1999, 2001, 2003) and the "Directions in Statistical Computing" conference in Seattle last year ... DSC 2007, a conference on systems and environments for statistical computing, will take place in Auckland, New Zealand on February 15 & 16, 2007. This is just an announcement of date and location so that interested parties living on the far side of the planet have time to book their travel; further details and a web site for the conference will be announced in due course. Paul -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From p.murrell at auckland.ac.nz Mon Apr 3 04:58:33 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Mon, 03 Apr 2006 14:58:33 +1200 Subject: R News, volume 6, issue 1 is now available Message-ID: <44308F59.6060401@stat.auckland.ac.nz> Hi The March 2006 issue of R News is now available on CRAN under the Documentation/Newsletter link. Paul (on behalf of the editorial board) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From Torsten.Hothorn at rzmail.uni-erlangen.de Tue Apr 11 20:01:13 2006 From: Torsten.Hothorn at rzmail.uni-erlangen.de (Torsten Hothorn) Date: Tue, 11 Apr 2006 20:01:13 +0200 (CEST) Subject: useR! 2006: April 15 regular registration deadline Message-ID: Dear useRs, we would like to inform you that we are approaching the regular registration deadline (2006-04-15) of useR! 2006, the second R user conference taking place in Vienna on June 15-17. So if you plan to join the conference, this is the perfect time to register! The pre-conference tutorials, on June 14, already attracted a lot of interest, so make sure to book _now_ if you are planning to attend one or two of the tutorials given by prominent members of the R community. The scientific program, including all abstracts, is available from the conference Web page at http://www.R-project.org/useR-2006/ We are looking forward to meeting you in Vienna, The useR! 2006 organizing team. From p.dalgaard at biostat.ku.dk Mon Apr 24 13:32:37 2006 From: p.dalgaard at biostat.ku.dk (Peter Dalgaard) Date: 24 Apr 2006 13:32:37 +0200 Subject: R 2.3.0 is released Message-ID: I've rolled up R-2.3.0.tar.gz a short while ago. This version contains several changes and additions, mostly incremental. See the full list of changes below. You can get it (in a short while) from http://cran.r-project.org/src/base/R-2/R-2.3.0.tar.gz or wait for it to be mirrored at a CRAN site nearer to you. Binaries for various platforms will appear in due course. There is also a version split for floppies. For the R Core Team Peter Dalgaard These are the md5sums for the freshly created files, in case you wish to check that they are uncorrupted: eb723b61539feef013de476e68b5c50a COPYING a6f89e2100d9b6cdffcea4f398e37343 COPYING.LIB 152bf40b34f471387c623c724e112a58 FAQ 70447ae7f2c35233d3065b004aa4f331 INSTALL fcb3488d9d8e95e439f4bde1b730a615 NEWS 88bbd6781faedc788a1cbd434194480c ONEWS 4f004de59e24a52d0f500063b4603bcb OONEWS 11cc1e9df640ab52e608cf9e695f7354 R-2.3.0.tar.gz 2fb2766d3a35b1c4b525d61dec39f502 R-2.3.0.tar.gz-split.aa 51ac3cd512cbc0f265ca1c8318732c30 R-2.3.0.tar.gz-split.ab 0d5c03adcdc336e2881c1e5a080c8542 R-2.3.0.tar.gz-split.ac d7a9431dff3a3a7fefd60ce0ac4b39aa R-2.3.0.tar.gz-split.ad 096386cbc903ea5c5af2a91415b3535b R-2.3.0.tar.gz-split.ae 7e05f409a33e08df384aa8ae8ec80f90 R-2.3.0.tar.gz-split.af 6b79a851552a70a491454be0cfdfa685 R-2.3.0.tar.gz-split.ag 474a171062b1ea432bfdcb68afd696b7 R-2.3.0.tar.gz-split.ah 08173075ecea19a8cc75a062bf3fa2ac R-2.3.0.tar.gz-split.ai c9cdbbed7dce6b1d5a2af4dc4c495fc1 R-2.3.0.tar.gz-split.aj 11cc1e9df640ab52e608cf9e695f7354 R-latest.tar.gz 433182754c05c2cf7a04ad0da474a1d0 README 020479f381d5f9038dcb18708997f5da RESOURCES Here is the relevant bit of the NEWS file: CHANGES IN R VERSION 2.3.0 USER-VISIBLE CHANGES o In the grid package there are new 'arrow' arguments to grid.line.to(), grid.lines(), and grid.segments() (grid.arrows() has been deprecated). The new 'arrow' arguments have been added BEFORE the 'name', 'gp' and 'vp' arguments so existing code that specifies any of these arguments *by position* (not by name) will fail. o all.equal() is more stringent, see the PR#8191 bug fix below. o The data frame argument to transform() is no longer called 'x', but '_data'. Since this is an invalid name, it is less likely to clash with names given to transformed variables. (People were getting into trouble with transform(data, x=y+z).) NEW FEATURES o arima.sim() has a new argument 'start.innov' for compatibility with S-PLUS. (If not supplied, the output is unchanged from previous versions in R.) o arrows() has been changed to be more similar to segments(): for example col=NA omits the arrow rather than as previously (undocumented) using par("col"). o as.list() now accepts symbols (as given by as.symbol() aka as.name()). o atan2() now allows one complex and one numeric argument. o The 'masked' warnings given by attach() and library() now only warn for functions masking functions or non-functions masking non-functions. o New function Axis(), a generic version of axis(), with Date and POSIX[cl]t methods. This is used by most of the standard plotting functions (boxplot, contour, coplot, filled.contour, pairs, plot.default, rug, stripchart) which will thus label x or y axes appropriately. o pbeta() now uses TOMS708 in all cases and so is more accurate in some (e.g. when lower.tail = FALSE and when one of the shape parameters is very small). o [qr]beta(), [qr]f() and [qr]t() now have a non-centrality parameter. o [rc]bind and some more cases of subassignment are implemented for raw matrices. (PR8529 and 8530) o The number of lines of deparsed calls printed by browser() and traceback() can be limited by the option "deparse.max.lines". (Wish of PR#8638.) o New canCoerce() utility function in "methods" package. o [pq]chisq() are considerably more accurate for moderate (up to 80) values of ncp, and lower.tail = FALSE is fully supported in that region. (They are somewhat slower than before.) o chol(pivot = TRUE) now gives a warning if used on a (numerically) non-positive-definite matrix. o chooseCRANmirror() consults the CRAN master (if accessible) to find an up-to-date list of mirrors. o cov.wt() is more efficient for 'cor = TRUE' and has a new 'method' argument which allows 'Maximum Likelihood'. o do.call() gains an 'envir' argument. o eigen() applied to an asymmetric real matrix now uses a tolerance to decide if the result is complex (rather than expecting the imaginary parts of the eigenvalues to be exactly zero). o New function embedFonts() for embedding fonts in PDF or PostScript graphics files. o fisher.test() now uses p-values computed via hypergeometric distributions for all 2 by 2 tables. This might be slightly slower for a few cases, but works much better for tables with some large counts. There is a new option to simulate the p-value for larger than 2 x 2 tables. o for() now supports raw vectors as the set of indices. o getNativeSymbolInfo() is vectorized for the 'name' argument. It returns a named list of NativeSymbolInfo objects, but is backward compatible by default when called with a character vector of length 1, returning the NativeSymbolInfo object. o help.search() no longer attempts to handle packages installed prior to R 2.0.0, and reports the current path to the package (rather than where it was originally installed: this information is not shown by the print() method). o Added "hexmode" to parallel "octmode". o install.packages() now does tilde expansion on file paths supplied as 'pkgs'. o install.packages() has additional arguments 'configure.args' and 'clean' which allow the caller to provide additional arguments to the underlying R CMD INSTALL shell command when installing source packages on a Unix-alike. o is.loaded() has a new argument 'type' to confine the search to symbols for .C, .Fortran, .Call or .External: by default it looks for a symbol which will match any of them. It is now internal and not primitive, so argument matching works in the usual way. o The symmetry test for matrices used in eigen() has been ``exported'' as the 'matrix' method of a new S3-generic 'isSymmetric(). o .leap.seconds and the internal adjustment code now know about the 23rd leap second on 2005-12-31: the internal code uses a run-time test to see if the OS does. o The 'col' argument of legend() now defaults to par("col") (which defaults to "black", the previous default), so that the lines/symbols are shown in the legend in the colour that is used on the plot. o log2() and log10() call C functions of the same name if available, and will then be more likely to be precise to machine accuracy. o new.packages() gains a ... argument to pass e.g. 'destdir' to install.packages(). (Wish of PR#8239.) o nls() now supports 'weights'. o The vector passed as the first argument of the 'fn' and 'gr' arguments of optim() has the names (if any) given to argument 'par'. o options(expressions) is temporarily increased by 500 during error-handling. This enables e.g. traceback() to work when the error is reaching the limit on the nesting of expressions. o page() accepts general R objects, not just names (and previously undocumented) character strings. This allows the object to be specified as a call, for example. More options are allowed in its '...' argument. o pairs() allows a wider class of inputs, including data frames with date and date-time columns. o par() and the in-line use of graphical parameters produce more informative error messages, distinguishing between non-existent pars and inappropriate use of valid pars. Graphical parameters 'family', 'lend', 'ljoin' and 'lmitre' can now be set in-line. There is no longer a warning if non-settable pars are used in-line, but there is an appropriate warning if unknown pars are passed. The length limit for the 'family' parameter has been increased to 200 bytes, to allow for the names of some CID-keyed fonts in multi-byte locales. o The pdf() device now allows 'family' to be specified in the same generality as postscript(). o The pdf() device writes /FontDescriptor entries for all fonts except the base 14, and does not write font entries for unused fonts. o Plotmath allows 'vartheta', 'varphi' and 'varsigma' (or 'stigma') as synonyms for 'theta1', 'phi1' and 'sigma1', and the help page has a note for TeX users. o plot.xy() now takes its default arguments from the corresponding par() settings, so points(type="l") and lines(type="p") behave in the same way (and more obviously, also for type="b"). o poly() has a new argument 'raw', mainly for pedagogical purposes. o The class "POSIXlt" now supports fractional seconds (as "POSIXct" has always done). The printing of fractional seconds is controlled by the new option "digits.secs", and by default is off. o postscript() supports family = "ComputerModernItalic" for Computer Modern with italic (rather than slanted) faces. o The postscript()/pdf() font metrics for the 14 standard fonts (only, not the rest of the common 35) have been updated to versions from late 1999 which cover more glyphs. There are also a few differences in the metrics and hence the output might be slightly different in some cases. o The way families can be specified for postscript() and pdf() has been expanded to include CID-keyed fonts, with new functions Type1Font() and CIDFont() to set up such fonts families. o prettyNum() has new arguments 'preserve.width' and 'zero.print'. When the former is not "none", as in calls from format() and formatC(), the resulting strings are kept at the desired width when possible even after adding of 'big.mark' or 'small.mark'. o proc.time() and system.time() now record times to 1ms accuracy where available (most Unix-like systems). o The initialization methods for the quasi() family have been changed to depend on the variance function, and in particular to work better for the "mu(1-mu)" variance function. (PR#8486) o read.table() gains a 'flush' argument passed to scan(). o require() now takes a 'lib.loc' argument. o The second argument 'size' to sample() is required to have length 1, so that errors when supplying arguments are more easily detected. o The default is now compress = !ascii in save() (but not save.image). o scan() and write.table() now have some interruptibility, which may be useful when processing very large files. o A new heuristic test, seemsS4Object() is supplied, along with a similar C-level test, R_seemsS4Object(object). The test detects probable S4 objects by their class's attribute. See the help page. o S3 classes can now be made non-virtual S4 classes by supplying a prototype object in the arguments to setOldClass(). o splinefun() returns a function that now also has a 'deriv' argument and can provide up to the 3rd derivative of the interpolating spline, thanks to Berwin Turlach. o stopifnot(A) now gives a better error message when A has NAs, and uses "not all TRUE" when A has length >= 2. o str()'s default method has a new argument 'strict.width' which can be used to produce strict 'width' conforming output. A new options(str = list(strict.width = *)) setting allows to control this for a whole session. o summary.nls() has a new argument 'correlation' that defaults to FALSE (like summary.lm). o Sys.sleep() has sub-millisecond resolution on Unix-alikes with gettimeofday(). o Sys.time() now has sub-millisecond accuracy on systems supporting the POSIX call gettimeofday, and clock-tick accuracy on Windows. o The new function timestamp() adds a time stamp to the saved command history on consoles which support it. o New function tcrossprod() for efficiently computing x %*% t(x) and x %*% t(y). o The suffix used by tempfile() is now in hex on all platforms and guaranteed to be at least 6 hex digits (usually 8). o trace() now works more consistently and more like its documentation, in particular the assertions about old tracing being removed for new. For debugging purposes (of R) a mechanism for debugging the trace computations themselves was added. See trace.R. o The implementation of trace() has beem made more general by calling a function to do the trace interaction, and recover() now detects trace calls to trim the irrelevant code underneath. o unserialize() can now also read a byte stream from a raw vector. o The useDynLib() directive in the NAMESPACE file now accepts the names of the native/foreign symbols that are to be resolved in the DLL for use in .C/.Call/.Fortran/.External calls. These can be used as regular R variables instead of the (routine name, PACKAGE) pairs currently recommended. Alternative names can be given for the R variables mapping to these symbols. The native routine registration information can also be used directly via useDynLib(name, .registration = TRUE). See the 'Writing R Extensions' manual for more details. checkFF() (package 'tools') has been updated accordingly. o validObject() has an option complete=TRUE that recursively checks the objects in the slots. Not used when new(...) checks validity. o New Vectorize() function, a wrapper for mapply(). o write.ftable() has gained an argument 'append = FALSE' (thanks to Stephen Weigand). o On Unix-alikes, X11() now has arguments to request the initial position of the window, and 'gamma' defaults to the value of getOptions("gamma"). These changes are consistent with the windows() device. o X11() and the Unix-alike data entry window can have properties (including geometry) set by X resources: see their help files. o xy.coords() & xyz.coords() now have NULL defaults for their 'y' or 'y' and 'z' arguments. This is more consistent with their earlier documentation, and may be convenient for using them. o Non-syntactic names of list elements are now printed quoted by backticks rather than double quotes. o There is some basic checking for imminent C stack overflow (when the evaluation depth and the user interrupts are checked). On systems with suitable OS support (not Windows), segfaults from C stack overflow are caught and treated as an R error. New function Cstack_info() reports on stack size and usage. options(expressions) reverts to the default of 5000 now stack checking is in place. o Package tcltk does not try to initialize Tk on Unix-alikes unless a DISPLAY variable is present. This allows packages dependent on tcltk to be installed without access to an X server. o The code used to guess timezone offsets where not supplied by the OS uses a different algorithm that is more likely to guess the summer-time transitions correctly. o Package tools contains translation tables 'Adobe_glyphs' and 'charset_to_Unicode'. o Changed the environment tree to be rooted in an empty environment, available as emptyenv(). baseenv() has been modified to return an environment with emptyenv() as parent, rather than NULL. o gettext has been updated to 0.14.5. o PCRE has been updated to version 6.4. o The method $.DLLInfo resolves the specified symbol in the DLL, returning a NativeSymbolInfo object. Use [[ to access the actual values in the DLLInfo object. o On systems with either vasprintf or both va_copy and a vsnprintf which reports the size of buffer required, connections such as gzfile() and bzfile() can now write arbitrarily long lines, not just 100000 chars. o The R session temporary directory is now set in C code using the same algorithm whether or not the shell front-end is used and on all platforms. This looks at environment variables TMPDIR, TMP and TEMP in turn, and checks if they point to a writable directory. o Some of the classical tests put unnecessary restrictions on the LHS in the formula interface (e.g., t.test(x+y ~ g) was not allowed). o On suitably equipped Unix-alike systems, segfaults, illegal operations and bus errors are caught and there is a simple error-handler which gives the user some choice as to what to do in interactive use. [Experimental.] On Windows access violations and illegal instructions are caught with a simple error handler. [Experimental.] o Tracebacks now include calls such as .C/.Fortran/.Call, which will help if errors occur in R code evaluated by compiled code and in tracebacks presented by the segfault etc handlers. o Treatment of signature objects and method definition objects has been modified to give cleaner printing and more consistency in the treatment of signatures. A sometimes useful utility, methodSignatureMatrix(), is now exported. o R refrains from printing a final EOL upon exiting the main loop if the quiet flag is on and if the save action is known (e.g. this is true for --slave). DEPRECATED & DEFUNCT o The deprecated and undocumented use of atan() with two arguments has been removed: instead use atan2(). o write.table0() is defunct in favour of write.table(). o format.char() is defunct in favour of format.default(). o Support for the long-deprecated (and no longer documented) arguments --min-vsize --min-nsize --max-vsize --max-nsize --vsize --nsize of R CMD BATCH has been removed. o The 'debian' subdirectory has been removed from the sources. o The 'vfont' argument of axis() and mtext() has been removed: use par(family=) instead. o The unused graphical parameter "type" has been removed: it invited confusion with the 'type' argument to default methods of plot(), points() and lines(). o nlsMethod() and profiler() are no longer exported from the stats namespace (and nlsMethod.plinear() is no longer registered as a method, as nlsMethod() was not generic). o The re-named tcltk functions tkcmd, tkfile.tail, tkfile.dir, tkopen, tkclose, tkputs, tkread are now formally deprecated. o Argument 'col' of bxp() is now formally deprecated. o Use of NULL as an environment is deprecated and gives a warning. o postscriptFont() is deprecated in favour of Type1Font() (which is just a change of name). o La.chol() and La.chol2inv() are deprecated (they have since R 1.7.0 been the same as the default options of chol() and chol2inv). o La.svd(method = "dgesvd") is deprecated. o The use of install.R and R_PROFILE.R files in packages is deprecated: use the DESCRIPTION file instead to arrange to save an image or to load dependent packages. The following command-line options to INSTALL are deprecated (use the fields in the DESCRIPTION file instead): -s --save --no-save --lazy --no-lazy --lazy-data --no-lazy-data o Graphical parameter 'tmag' (which is long unused) is deprecated. INTERNATIONALIZATION A set of patches supplied by Ei-ji Nakama has been incorporated. o New postscript encodings for CP1253, CP1257 and Greek (ISO 8859-7). o Support for East Asian CID-keyed fonts in pdf() and postscript(). Although these usually contain Latin characters no accurate AFMs are available and so CID-keyed fonts are intended only for use with CJK characters. o Wide-character width functions wc[s]width are provided that overcome problems found with OS-supplied ones (and those previously used by R on Windows). This means that double-width CJK characters are now supported on all platforms. It seems that the width of some characters (and not just CJK characters) depends on which CJK locale's fonts are in use and also on the OS. Revised wide-character classification functions are provided for use on Windows, AIX and MacOS X to replace deficient OS-supplied ones. o There is support for MBCS charsets in the pictex() graphics device, and rotated (by 90 degrees) text may work better. o The \u (and \U except on Windows) notation for characters which is supported by the parser in all MBCS charsets is now always interpreted as a Unicode point, even on platforms which do not encode wchar_t in Unicode. These are now a syntax error in single-byte locales. o The default encoding for postscript() and pdf() is chosen to be suitable for the current locale, if that is a single-byte locale which is supported. This covers European (including Greek) and Cyrillic languages. In UTF-8 locales, a suitable single-byte encoding is chosen for postscript() and pdf(), and text translated to it. o xfig() gains an 'encoding' argument. o There are some message translations into Spanish. INSTALLATION CHANGES o The encoding files for pdf()/postscript() have been moved to directory 'enc' in package 'grDevices'. o Support for MBCS is only enabled if iconv is found and it supports enough conversions. (libiconv does.) o In an MBCS locale, make check now translates the graphics examples from Latin-1. This ensures that they will work correctly in UTF-8: it is possible that in other MBCS locales they will now fail (rather than work completely incorrectly). o There is a new test, 'test-Docs', which as part of 'make check-devel' tests the code in the documentation. Currently it runs doc/manual/R-{exts,intro}.R and the compiled code in R-exts.c. o The workaround to allow an external LAPACK-containing BLAS such as libsunperf to be used with the internal LAPACK has been removed. If you have such a library you may now need to use --with-lapack. It is no longer possible to use some older versions of libsunperf, e.g. Forte 7 on 64-bit builds. o A substitute for mkdtemp is provided, so it is now always used for R_TempDir. o Most of the functions checked for by 'configure' also have declarations checked for in the appropriate header. o The top-level documentation files AUTHORS COPYING.LIB COPYRIGHTS FAQ RESOURCES THANKS have been moved to doc, and COPYING and NEWS are installed there. The file Y2K has been removed from the distribution. o The extension .lo is no longer used in building R (only in the optional build of libRmath.so): this allows a considerable simplification of the Makefiles. o Direct support for f2c has been removed: it can still be used via a script which makes it look like a Fortran compiler. (src/scripts/f77_f2c is an example of such a script.) o There is a new flag SAFE_FFLAGS which is used for the compilation of dlamc.f. It is set by configure for known problem cases (recent g77 and gfortran), but can be overridden by the user. o The standard autoconf macros for large-file support are now used, and these are enabled unless --disable-largefile is specified. This replaces --enable-linux-lfs (and is now selected by default). o Visibility attributes are used where supported (gcc4/gfortran on some platforms, also gcc3/g77 on FC3 and partially elsewhere). The main benefit should be faster loading (and perhaps better optimized code) in some of the dynamic shared objects (e.g. libR.so and stats.so). o The *PICFLAGS are taken to be -fpic rather than -fPIC where possible. This will make no difference on most platforms: -fPIC is needed on Sparc (and still used there), but -fpic should give slightly better performance on PowerPC (although -fPIC is used on PPC64 as it is needed to build libR.so there). o More use is made of inlining for small utility functions such as isReal. Because this can only be done portably with C99 constructs (and we know of no actual implementation), this is only done for the GNU C compiler. o There is an experimental feature to allow shared installations of sub-architectures. See the R-admin manual. o All platforms now use R's internal implementation of strptime, which allows fractional seconds. (The major platforms were already using it.) o The dlcompat work-around for old Mac OS X systems (<= 10.2) has been removed. External dlcompat must be installed if needed. UTILITIES o R CMD check now uses an install log by default. o R CMD check works for packages whose package name is different from the directory name in which it is located. o R CMD INSTALL now uses more randomness in the temporary directory name even on systems without mktemp -d. o R CMD f77 has been removed now f2c is no longer supported. o The version string shown in the startup message and by "R --version", and that stored in variable R.version.string are now in exactly the same format. o The base name of a help file needs to be valid as part of a file:// URL, so R CMD check now checks the names are ASCII and do not contain % . o R CMD check now warns about unknown sections in Rd files, and invalid names for help, demo and R files, as well as unlikely file names in the 'src' directory. The latter is controlled by option --check-subdirs and by default is done if checking a tarball without a configure script. R CMD build excludes invalid files in the 'man', 'R' and 'demo' subdirectories. o \usepackage[noae]{Sweave} in the header of an Sweave file supresses auto-usage of the ae package ("almost European" fonts) and T1 input encoding. DOCUMENTATION o Rd format now allows \var{} markup inside \code{} and \examples{}. o Markup such as --, ---, < and > is handled better when converting .Rd files to [C]HTML. o There is new markup \link[=dest]{name} to generate a link to topic 'dest' which is shown as 'name', and \linkS4class{abc} which expands to \link[=abc-class]{abc}, for cross-referencing the recommended form of documentation for S4 classes. PACKAGE INSTALLATION o There is now some support for Fortran 90/95 code in packages: see `Writing R Extensions'. o Installation of man sources and demos is now done by R code. The restrictions on the names of help files, R files and of demos are now enforced (see `Writing R Extensions'). o Packages which contain compiled code can now have more than one dot in their name even on Windows. o The Meta/hsearch.rds database saved now contains LibPath="". This information is now always recreated when help.search() is run, but the field is retained for back-compatibility. o update.packages() now has a '...' argument to be passed to install.packages(), including the formerly separate arguments 'destdir' and 'installWithVers'. o Make macros AR and RANLIB are now declared in etc/Makeconf for use by packages which wish to make static libraries. C-LEVEL FACILITIES o qgamma and rgamma in Rmath.h now check for non-positive arguments. o The BLAS which ships with R now contains the complete set of double-complex BLAS routines, rather than just those used in R. has been corrected to add the missing double-precision BLAS functions drotmg and drotm, and to exclude lsame (which is a Lapack auxiliary function and is now declared in ). It also includes the double complex routines added for this release of R provided Fortran doublecomplex is usable on the platform. o and now declare all the entry points as 'extern'. o The flag SAFE_FFLAGS is made available to packages via etc/Makeconf and R CMD config. It can be used where optimization needs to be defeated, e.g. in LAPACK setup. o getNativeSymbolInfo has a withRegistrationInfo argument which causes the address field to be a reference to the registration information if it is available for that symbol. If the registration information is not available, the address is a reference to the native symbol. The default is FALSE which is backward compatible, returning just the address of the symbol and ignoring registration information. o errorcall and warningcall are now declared in (they might be needed in front-ends). o R_FlushConsole and R_ProcessEvents are now declared in . o The R_Sock* functions supporting socket connections are no longer declared in R-ftp-http.h as they are not loaded into R itself, and are now hidden in the module's DLL on suitable systems. BUG FIXES o Quoted arguments to the R script after --args are now passed quoted to the R executable and so will be shown as expected by commandArgs(). (They were previously split at whitespace even inside quotes on Unix-alikes but not on Windows.) o axis() now supports pars 'xaxp'/'yaxp' as inline arguments. o sort() now does not return inappropriate attributes such as "dim" and "tsp": it only returns names. sort(x, partial=) no longer returns unsorted names, and drops names (since it is supplied for efficiency). o Use of non-central F in pf() gives accurate values for larger ncp. o R CMD build --binary does a better job of cleaning up after failure to re-make vignettes. o reg-test-1.R tested system(intern=TRUE) which depends on popen and so is not supported on all platforms. o Changed apparent mis-spelling of "Gibraltar" in dataset 'eurodist'. o sysconf() is now used to find the number of clock ticks/second: under some circumstances glibc reported CLK_TCK = 60 when the true value was 100. o identical() was not allowing for embedded nuls in character strings. (NB: the comparison operators including == do not, and never will.) o The profile() and profiler() methods for "nls" objects now support algorithm = "plinear" and algorithm = "port". o The signal handlers for signals USR1 and USR2 where not restored if the signal arrived when interrupts were suspended. o Certain combinations of S4 inheritance could cause inherited methods to override some directly specified methods. o Some cases of named signatures in calls to setMethod() caused errors. o all.equal() is now more consistent and "picky" about mismatching attributes, in particular names(); this is a part of the propositions by Andy Piskorkski (PR#8191). o load() when applied to a connection leaves it open/not as it found it, and checks explicitly for having a binary readable connection. o The p-values given by stat.anova() (called from several anova() methods) are now NA (rather than spurious) if non-nested models give rise to changes in deviance with a different sign from changes in degrees of freedom. o Built-ins were reported as the relevant call in C-level error()s iff R profiling was in progress. Now they are never reported. o Too-long signatures (with no names) were not being caught in setMethod(). o Slot names in prototype() are being more thoroughly checked. o signif() is more likely to follow the 'round to even' rule for exactly representable numbers, e.g. signif(0.25, 1). (Related to PR#8452.) o nls() now works correctly with some low-dimensional fits, e.g. with one or zero non-linear parameters. o glm() could give an inappropriate error message if all possible coefficients were invalid (e.g. a log-linear binomial model with no intercept and a not all positive predictor). o solve() gives clearer error messages for some incorrect usages. (PR#8494 and similar) o The gaussian() family was missing the 'valideta' component (which could be needed for the "inverse" link function). The starting values supplied by the gaussian family could be invalid for the "log" and "inverse" link functions. This is now reported. o data.matrix() did not work correctly on zero-row data frames. (PR#8496 and other problems.) o The DSC comments in the files from postscript(onefile=FALSE) now label all files as having page 1 of 1, as some other software seems to expect that. o The axis labels chosen for logarithmic axis are now less likely to be linear and inappropriate (when the range is more than 10 and less than 100). (PR#1235) o Staircase lines (types "s" and "S") are now drawn continuously rather than a point at a time and so line types, mitring and so on work. (PR#2630) o Calling par(mfg) before doing any plotting resulted in NewPage never being called on the device, which in turn resulted in incorrect output for postcript() and pdf() devices. (Reported by Marc Schwartz in discussion of the non-bug PR#7820.) o terms.formula needed to add parentheses to formulae with terms containing '|'. (PR#8462) o pbirthday() and qbirthday() now also work for very improbable events {those you are typically *not* interested in}. o Only source help files starting with an upper- or lower-case letter or digit and extension .Rd or .rd are documented to be processed. This is more liberal in that starting with a digit is now also allowed, but rule is now enforced. o nls(algorthm="port") was always taking positive numeric differences and so could exceed the upper bounds. o methods:::.asEnvironmentPackage() was not allowing for versioned installs. o .find.package() now reports which package(s) it cannot find in the case it stops with an error. o The standard Unix-alike version of file.show() gives an informative message if it cannot open a file rather than the (possibly incorrect) 'NO FILE'. o window() did not allow non-overlapping ranges with extend = TRUE. (PR#8545) o pbinom(size = 0) now returns correct values (not NaN). (PR#8560) o [dp]binom(x, *) for x < 0 now always returns 0. (PR#8700) analogous change in pgeom(), pnbinom() and ppois(). o [dqpr]geom and [dpqr]nbinom() now all consistently accept prob = 1 but not prob = 0. qgeom(prob=1) now gives the correct values (not -1). o INSTALL on Unix-alikes was not loading dependent packages when preparing for lazy-loading. o qcauchy(1) now gives +Inf instead of just a very large number. o df(0, f1, *) now properly returns Inf, 1, or 0 for f1 < , = , or > 2. o qbinom(), qnbinom() and qpois() now use a better search and normally reach the answer very quickly when it is large (instead of being slow or infinite-looping). o pt(x, df) lost accuracy in the far tails (when |x| > 1e154) for small df (like df = 0.001 for which such extremes are not unlikely). o dbeta(x, a, b) underflowed internally and incorrectly gave 0 for very small x and a. o None of the warnings about convergence failures or loss of precision in nmath (distribution and special functions) were being reported to the R user. o dnt was missing from standalone nmath (under Unix-alikes). o split() now accepts factors with numeric (but not storage mode integer) codes. o The utilities such as 'check' now report active version numbers again, as SVN 'last changed revision' numbers. o addmargins() did not accept a name for 'FUN', only an expression. o '+' for POSIXt objects now takes the tzone from whichever object has it, so date+x is the same as x+date if x is numeric. o mean.default() and var() compute means with an additional pass and so are often more accurate, e.g. the variance of a constant vector is (almost) always zero and the mean of such a vector will be equal to the constant value to machine precision. (PR#1228) sum(), prod(), mean(), rowSums() and friends use a long double accumulator where available and so may be more accurate. (This is particularly helpful on systems such as Sparc and AMD64 where long double gives considerably greater exponent range and precision than double.) o read.dcf() now gives a warning on malformed lines. o add1.[g]lm now try harder to use the environment of the formula in the orginal fit to look for objects such as the 'data' and 'subset' arguments. o gaussian()$aic was inconsistent with e.g. the lm results from AIC() and extractAIC() for weighted fits: it treated the weights as case weights and not variance factors. o system() on Unix-alikes ignored non-logical values of 'intern' and treated 'intern = NA' as true. o as.table() now produces non-NA rownames when converting a matrix of more than 26 rows. (PR#8652) o Partial sorting used an algorithm that was intended only for a few values of 'partial' and so could be far slower than a full sort. It now switches to a barebones full sort for more than 10 values of 'partial' and uses a more efficient recursive implementation for 2...10. o summary.glm() returned an estimate of dispersion of Inf for a gaussian glm with zero residual degrees of freedom and then treated that as a known value. It now uses the estimate NaN, which is consistent with summary.lm(). o Sys.sleep() on Unix-alikes was restricted to about 2147 seconds and otherwise might never have returned. (PR#8678) o is(obj, Cl) could wrongly report TRUE when Cl was a classUnion and multiple inheritance was involved. o confint[.lm / .default] used label "100 %" for level = 0.999 o Empty entries (i.e., extraneous ",") in NAMESPACE files now give a better error message early at parsing time instead of a less comprehensible one later at load time. o all.equal(n1, n2) could erroneously return NA when n1, n2 contained large integers. o anova.mlm() didn't handle multi-df effects properly in the single-model case (PR#8679) o anova.mlm() had its colnames mangled by data.frame() (needed check.names=FALSE). o summary.glm() gave an NA estimate of dispersion for fits with zero weights. (PR#8720) o qhyper() had too small a tolerance for right-continuity on some platforms so was not always an inverse to phyper(). o rownames<-.data.frame() and dimnames<-.data.frame() tested the length(s) of the replacement value(s) before coercion, which can change the length (e.g. for class "POSIXlt"). o max() and min() ignored the largest/smallest representable integer, as well as Inf/-Inf. (PR#8731) o write.table() assumed factors had integer codes: it now allows malformed factors with numeric codes (and otherwise throws an error). o Worked around a Solaris restriction which meant that Sys.sleep() was only effective for times of up to one second. o sink(, split=TRUE) now works correctly, but is allowed only on platforms that support va_copy or __va_copy. (PR#8716) o factanal(), prcomp() and princomp() now only check that columns in the model frame that will be used are numeric (they previously also checked columns which were part of negative terms in the formula). o Misuse of $ in apply could corrupt memory. (PR#8718) o apply() could fail if the function returned NULL (e.g. if there was a single row). o registerS3method() failed due to a typo. (It was almost never used.) o Registering an S3 method for an S3 generic in another package that was converted to an S4 generic in the same package as the S3 method, registered the method in the wrong place. o Recall() used lookup for the function in use and so could fail if that was an S3 method not on the search path. o Rdconv -t Ssgm failed if it encountered \link[opt]{arg}. o uniroot() did not give a warning (as documented) if it failed to converge in 'maxiter' steps. (PR#8751) o eapply (and as.list.environment) did not work for the base environment/namespace. (PR#8761) o Added protection in configure against systems for which using xmkmf fails to eport a C or C++ compiler. o expand.grid() was constructing a data frame 'by hand' and so setting integer row.names (which are documented to be character). It now sets character row names, and row.names.data.frame() coerces to character. o qbeta() used == on volatile doubles for its convergence test, which failed with gcc 3.3.x on ix86 Linux. We now use a less fragile test (and lose a negligible amount of accuracy). o ls.str() was missing inherits=FALSE, and so could have reported on an object of the same name but a different mode in the enclosure of the given environment. o logLik.nls assumed that sigma^2 had been estimated, but did not count this in the 'df' attribute. ************************************************** * * * 2.2 SERIES NEWS * * * ************************************************** CHANGES IN R VERSION 2.2.1 patched INSTALLATION CHANGES o The macro SOCKLEN_T has been replaced by R_SOCKLEN_T to work around a problem with the headers of AIX 5.3. BUG FIXES o sub(fixed = TRUE) could get wrong the length of the character string for elements of the result after the first. o legend() worked out which elements of 'lty' were valid before resizing 'lty', and so could fail if 'lty' was a different length from 'legend'. o str() sometimes used much too many spaces (in 2.2.x). o eigen(eispack=TRUE) accessed areas off the matrix in some circumstances (some asymmetric matrices with both complex conjugate pair and real eigenvalues). o strptime() in 2.2.1 sometimes did not set $isdst when it was previously set. o Another case of infinite influence has been worked around. (An addendum to PR#8367.) o qr.coef() worked incorrectly with multiple rhs in the LAPACK-using cases. (PR#8476/8) o rbind.data.frame() gave a corrupt data frame if one of the named arguments was a zero-row data frame. (PR#8506) o Checks for NULL in the rho argument of the C-level findVar function have been added. o The C-level substitute function was handling NULL in its 'rho' argument incorrectly. o The code for pgamma() introduced in 2.1.0 failed for large values of 'shape' where the previous code was perfectly acceptable, despite the claim to be uniformly better. For example, pgamma(0.9e100, 1e100) was NaN. (PR#8528) o There was no command 'ls' in browser() nor 'next' in debug(), despite the documentation (which has been corrected). Command 'where' in the browser() no longer changes to step-though mode. o factor.scope() could report incorrectly that interaction terms were not in the upper scope when such terms in the model and the upper scope had different orders for the main effects. (Another manifestation of PR#7842.) o The "lm" method of drop1() was giving incorrect results for weighted fits (since deviance.lm() was called on a non-"lm" object). o dotchart() was miscalculating the space for the labels in the left margin. (PR#8681) o r <- glm(.....); all.equal(r,r) # now gives TRUE instead of an error o plot.acf() with a multiple time series was sometimes miscalculating the 'ylim' value for the plot after the first. (PR#8705) -- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907 From Achim.Zeileis at wu-wien.ac.at Mon May 29 20:46:35 2006 From: Achim.Zeileis at wu-wien.ac.at (Achim Zeileis) Date: Mon, 29 May 2006 20:46:35 +0200 Subject: useR! 2006: final program Message-ID: <20060529204635.4a8cf908.Achim.Zeileis@wu-wien.ac.at> Dear useRs, the final scientific program for "useR! 2006", the second R user conference taking place in Vienna June 15-17, is now available online at http://www.R-project.org/useR-2006/ The registration is open until May 31, so you still have two days to register for this exciting event where you can meet 400 other useRs, attend 160 presentations and participate in some of the pre-conference tutorials given by prominent members of the R community. We look forward to meeting you in Vienna! The organizing team Torsten, Achim, David, Bettina, Fritz and Kurt. From p.murrell at auckland.ac.nz Thu Jun 1 04:44:30 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Thu, 01 Jun 2006 14:44:30 +1200 Subject: R News, volume 6, issue 2 is now available Message-ID: <447E548E.2090202@stat.auckland.ac.nz> Hi The May 2006 issue of R News is now available on CRAN under the Documentation/Newsletter link. Paul (on behalf of the R News EditorialBoard) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From p.dalgaard at biostat.ku.dk Thu Jun 1 11:04:12 2006 From: p.dalgaard at biostat.ku.dk (Peter Dalgaard) Date: 01 Jun 2006 11:04:12 +0200 Subject: R 2.3.1 is released Message-ID: I've rolled up R-2.3.1.tar.gz a short while ago. This version contains several minor fixups and removes a couple of bad bugs. See the full list of changes below. You can get it (in a short while) from http://cran.r-project.org/src/base/R-2/R-2.3.1.tar.gz or wait for it to be mirrored at a CRAN site nearer to you. Binaries for various platforms will appear in due course. There is also a version split for floppies. (This will be the last time we build those.) For the R Core Team Peter Dalgaard These are the md5sums for the freshly created files, in case you wish to check that they are uncorrupted: c663533d4d6c86f2a192c2b86f5bac12 AUTHORS eb723b61539feef013de476e68b5c50a COPYING a6f89e2100d9b6cdffcea4f398e37343 COPYING.LIB 7eac2a82dfd523caf7e73eb08ab530a4 FAQ 70447ae7f2c35233d3065b004aa4f331 INSTALL a592ca1b1582f94d3f468dd7ccb38c18 NEWS 88bbd6781faedc788a1cbd434194480c ONEWS 4f004de59e24a52d0f500063b4603bcb OONEWS a1d6d8081af4c71006a6e5a3ed54e4da R-2.3.1.tar.gz 0ae4891a63b3d7ebf82b1ff70c4f2dcb R-2.3.1.tar.gz-split.aa 142e3ecbde7d47b85dcad45782ee3b52 R-2.3.1.tar.gz-split.ab f6fafac0e6c03dd1523d09960e56c7ca R-2.3.1.tar.gz-split.ac 8a076dd800893b56184819570b8b2863 R-2.3.1.tar.gz-split.ad 5ed399fa2181575ba67c11c81e33dba5 R-2.3.1.tar.gz-split.ae 6074ecc86fad61d679eea80515ab9944 R-2.3.1.tar.gz-split.af 7ba58cf3d6d55044738439518432d846 R-2.3.1.tar.gz-split.ag e32d05cb40e79b49489ba09cf8fa654c R-2.3.1.tar.gz-split.ah 8e9f7675844031803a2076a73271b2c1 R-2.3.1.tar.gz-split.ai 12a494e22ddd220c4cefdb60cc532308 R-2.3.1.tar.gz-split.aj a1d6d8081af4c71006a6e5a3ed54e4da R-latest.tar.gz 433182754c05c2cf7a04ad0da474a1d0 README 020479f381d5f9038dcb18708997f5da RESOURCES 4eaf8a3e428694523edc16feb0140206 THANKS Here is the relevant bit of the NEWS file: CHANGES IN R VERSION 2.3.1 NEW FEATURES o In lm() and glm(), offsets are allowed to be length 1 (and if so are replicated to the number of cases). o The \uxxxx notation for Unicode characters in input strings can now be used on any platform which supports MBCS, even if the current locale is not MBCS (provided that the Unicode character is valid in the current character set). o The quasibinomial() family now allows the "cauchit" link. (PR#8851) o edit.data.frame() no longer (silently) coerces character columns to factor. C-LEVEL FACILITIES o The variables controlling stack checking are made available via Rinterface.h to front-ends embedding R: see 'Writing R Extensions' o R_SignalHandlers (defined in Rinterface.h) can be set to 0 to suppress the R signal handlers in front-ends embedding R. INSTALLATION CHANGES o There have been a number of changes to help installation on platforms that no one had beta-tested. - Changes related to older header files, e.g. on Redhat 8.0/9. - Problems with 'make install' on older (<3) versions of bash on Solaris and elsewhere. - AIX 5.2/gcc issues with needing -lm when making modules X11 and vfonts. - Some versions of Solaris and AIX had a fcntl.h that redefined 'open' to be 'open64' and thereby broke compilation of src/main/connections.c and elsewhere. o 'make uninstall' works better on a build using a named subarchitecture. BUG FIXES o min(), max(), sum() and prod() gave nonsensical answers with an empty list or raw argument. o sum() on a data frame did not allow multiple arguments. (PR#8385) o charmatch() and pmatch() did not specify they applied only to character vectors. Now they do, and attempt to coerce 'x' and 'target' to character before attempting matching. o The Summary() methods for data.frame, Date, POSIXct, POSIXlt and difftime all required an argument which can match 'x', although the generics did not. o regexpr() now accepts 0-length 'text' inputs. o help.search() no longer errors out on a wrongly installed package (with no "hsearch.rds" file). o The LaTeX version of the package reference manual was omitting some topics, and was not sorting the foo-package topic first. o Serializing (e.g. via save()) is better protected against C stack overflow, which will now abort the conversion but no longer crashes the R process on some platforms. o rbind()ing dataframes with a single row could lead to a corrupt data frame (a problem with the fix to PR#8506). o plot(lm(y ~ 1)) now works also for 'which = 5'. o dbeta(0, 1, a, 0) now correctly gives 'a' (limit) instead of 0, and dbeta(0, a, b, ncp) now returns Inf instead of NaN. o demo(Hershey) was failing on the Cyrillic octal codes in locales (e.g. UTF-8) in which these are invalid. o mean() on an integer (or logical) vector was treating NAs as actual values (unless na.rm = TRUE). o mean() on a complex vector was calculated incorrectly in code to improve precision (PR#8842, John Peters). o Graphical parameters bg, cex, col, lty, and lwd were being checked as being of length one even by functions such as title() that ignored them. (Functions such as lines() and points() allow them to be of length > 1, so they might be passed through ... to other high-level graphical functions which then used to reject them.) o str() now is fast again for large character vectors. o edit() would default the environment of a function to .BaseEnv, instead of to .GlobalEnv. o lm() and glm() coerce their 'weights' and 'offset' values to vector to avoid problems with specifying them as 1D or n x 1 arrays. o image() with one or both axes on log scales would give a spurious warning; contour() would give an error. o legend() with log axes would place the title in the wrong place. o edit.data.frame() was not returning factors edited with factor.mode="numeric" to factors. o edit.matrix() tried to set rownames and colnames from the original matrix even if the sizes had been altered, and ignored changes made to the column names. edit.row.names has a more sensible default (if the rownames are non-NULL). o bindingIsLocked() was returning invalid values of a logical vector on some platforms. o merge.data.frame() did not make the column names unique (by appending elements of 'suffixes') when performing a Cartesian product. (PR#8676) o rbind.data.frame() matches up the names of columns (which was undocumented), but failed to do so when checking if it was dealing with a factor column. (PR#8868) If rbind() was used on data frames with duplicated names it produced a corrupt data frame. o dt(x, df, ncp= not.0) now longer gives erratic values for |x| < ~1e-12. (PR#8874) o \code{\linkS4class{.}} now works. o ccf() aligns time series by ts.intersect() rather than ts.union() and so is less likely to need a non-default na.action. (PR#8893) o optim(method="CG") could return a value that did not correspond to $par for very badly behaved functions on which the second phase of the line search failed. (PR#8786) o print.ts() could fail on a corrupt time series: it now warns and does the best it can. -- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907 From p.murrell at auckland.ac.nz Fri Jun 2 00:11:01 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Fri, 02 Jun 2006 10:11:01 +1200 Subject: DSC 2007 info Message-ID: <447F65F5.4010300@stat.auckland.ac.nz> Hi This is a second announcement and call for abstracts. Please forward and circulate to other interested parties. DSC 2007, a conference on systems and environments for statistical computing, will take place in Auckland, New Zealand on February 15 & 16, 2007. We invite abstracts on the development of software systems and computing environments for interactive statistics. The workshop will focus on, but is not limited to, open source statistical computing. The deadline for submitting abstracts is 2006-10-15 (October 15th). Please send abstracts (one page) to dsc2007 at stat.auckland.ac.nz The workshop web page (including on-line registration) is now available at http://www.stat.auckland.ac.nz/dsc-2007/ Paul (on behalf of the Organising Committee) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From Achim.Zeileis at wu-wien.ac.at Fri Jun 30 22:17:38 2006 From: Achim.Zeileis at wu-wien.ac.at (Achim Zeileis) Date: Fri, 30 Jun 2006 22:17:38 +0200 Subject: useR! 2006: presentation slides Message-ID: <20060630221738.0331a63b.Achim.Zeileis@wu-wien.ac.at> Dear useRs, the useR! 2006 conference took place in Vienna two weeks ago: it was an exciting and interesting meeting with about 400 useRs from all over the world and more than 150 presentations. Especially for those of you who could not make it to the conference, we have made 4up PDF versions of the presentations slides available. The slides for the keynote lectures are available at http://www.R-project.org/useR-2006/Keynotes/ and the user-contributed presentations at http://www.R-project.org/useR-2006/Presentations/ Finally, some materials for the panel discussion on "Getting recognition for excellence in computational statistics" are provided at http://www.R-project.org/useR-2006/PanelDisc/ including a summary, the short presentation slides of the panelists and the full discussion as a video. A big thank you to everyone who contributed to the conference and... best wishes from Vienna! The organizing team Achim, Torsten, David, Bettina, Fritz and Kurt. From p.murrell at auckland.ac.nz Fri Aug 18 01:25:05 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Fri, 18 Aug 2006 11:25:05 +1200 Subject: DSC 2007 Message-ID: <44E4FAD1.1070102@stat.auckland.ac.nz> Hi This is a second call for abstracts. Please forward and circulate to other interested parties. [apologies for any cross-posting] DSC 2007, a conference on systems and environments for statistical computing, will take place in Auckland, New Zealand on February 15 & 16, 2007. We invite abstracts on the development of software systems and computing environments for interactive statistics. The workshop will focus on, but is not limited to, open source statistical computing. The deadline for submitting abstracts is 2006-10-15 (October 15th). Please visit the conference web page at http://www.stat.auckland.ac.nz/dsc-2007/ and send abstracts (one page) to dsc2007 at stat.auckland.ac.nz Paul (on behalf of the Organising Committee) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From p.murrell at auckland.ac.nz Fri Aug 25 00:17:16 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Fri, 25 Aug 2006 10:17:16 +1200 Subject: R News, volume 6, issue 3 is now available Message-ID: <44EE256C.8070506@stat.auckland.ac.nz> Hi The August 2006 issue of R News is now available on CRAN under the Documentation/Newsletter link. Many thanks to Ron Wehrens, our guest editor for this special issue. Paul (on behalf of the R News EditorialBoard) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From p.dalgaard at biostat.ku.dk Tue Oct 3 12:30:47 2006 From: p.dalgaard at biostat.ku.dk (Peter Dalgaard) Date: 03 Oct 2006 12:30:47 +0200 Subject: R-2.4.0 is released Message-ID: I've rolled up R-2.4.0.tar.gz a short while ago. This version contains several changes and additions, mostly incremental, but some larger changes to S4 methods have been added, as well as namespace sealing. See the full list of changes below. You can get it (in a short while) from http://cran.r-project.org/src/base/R-2/R-2.4.0.tar.gz or wait for it to be mirrored at a CRAN site nearer to you. Binaries for various platforms will appear in due course. There is no longer a version split for floppies. For the R Core Team Peter Dalgaard These are the md5sums for the freshly created files, in case you wish to check that they are uncorrupted: a8efde35b940278de19730d326f58449 AUTHORS eb723b61539feef013de476e68b5c50a COPYING a6f89e2100d9b6cdffcea4f398e37343 COPYING.LIB bdb43ae25511ed02c58bce1ff0e93337 FAQ 70447ae7f2c35233d3065b004aa4f331 INSTALL 4426b6244f014353965fa09f85d8fd5b NEWS 88bbd6781faedc788a1cbd434194480c ONEWS 4f004de59e24a52d0f500063b4603bcb OONEWS f32379469d8712e9f5dd6435d30127d3 R-2.4.0.tar.gz 433182754c05c2cf7a04ad0da474a1d0 README 020479f381d5f9038dcb18708997f5da RESOURCES 4eaf8a3e428694523edc16feb0140206 THANKS This is the relevant part of the NEWS file CHANGES IN R VERSION 2.4.0 USER-VISIBLE CHANGES o The startup message now prints first the version string and then the copyright notice (to be more similar to R --version). o save() by default evaluates promise objects. The old behaviour (to save the promise and its evaluation environment) can be obtained by setting the new argument 'eval.promises' to FALSE. (Note that this does not apply to promises embedded in objects, only to top-level objects.) o The functions read.csv(), read.csv2(), read.delim(), read.delim2() now default their 'comment.char' argument to "". (These functions are designed to read files produced by other software, which might use the # character inside fields, but are unlikely to use it for comments.) o The bindings in the base environment/namespace (currently the same thing) are now locked. This means that the values of base functions cannot be changed except via assignInNamespace() and similar tricks. o [[ on a factor now returns a one-element factor (and not an integer), as.list() on a factor returns a list of one-element factors (and not of character vectors), and unlist() on a list of factors returns a factor (and not an integer vector). These changes may affect the results of sapply() and lapply() applied to factors. o mauchly.test() now returns the W statistic (for comparability with SAS and SPSS), rather than the z (which was accidentally not named in the output) o sort(x, decreasing = FALSE, ...) is now a generic function. This means that 'partial' is no longer the second argument, and calls which used positional matching may be incorrect: we try to detect them. o See the section on 'Changes to S4 methods': all packages depending on 'methods' need to be re-installed. NEW FEATURES o agrep(), grep(), strwrap(), strtrim(), substr() and related functions now coerce arguments which should be character via as.character() rather than internally (so method dispatch takes place, e.g. for factors). chartr(), charfold(), tolower() and toupper() now coerce their main argument if necessary to a character vector via as.character(). Functions which work element-by-element on character vectors to give a character result now preserve attributes including names, dims and dimnames (as suggested by the Blue Book p. 144). Such functions include charfold(), chartr(), gsub(), strtrim(), sub(), substr(), tolower() and toupper(). (Note that coercion of a non-character argument may lose the attributes.) agrep(value = TRUE) preserves names for compatibility with grep(). nchar() has always preserved dims/dimnames (undocumented before) and now also preserves names. o .Deprecated and .Defunct take a new parameter, msg, that allows for the specification of the message printed and facilitates deprecation of calling sequences etc. o .Fortran() will map 'name' to lower case, and will work with 'name' containing underscores. o The default is now .saveRDS(compress = TRUE) o The :: operator now also works for packages without name spaces that are on the search path. o [[ on a list does not duplicate the extracted element unless necessary. (It did not duplicate in other cases, e.g. a pairlist.) o argsAnywhere() works like args() on non-exported functions. o as.data.frame() gains a '...' argument. o Added an as.data.frame() method for class "ftable". o as.list() is now handled by internal code and no longer loses attributes such as names. as.list() no longer duplicates (unnecessarily). o as.POSIX[cl]t can now convert character strings containing fractional seconds. o attach() can now attach a copy of an environment. o available.packages() and installed.packages() gain a 'fields' argument thanks to Seth Falcon. o axis.POSIXct() uses a different algorithm for ranges of 2 to 50 days that will mark days at midnight in the current timezone (even if the graph crosses a DST change). o body<-() and formals<-() default to envir = environment(fun), that is they do not by default change the environment. (Previously they changed it to parent.frame().) o New function combn(x, m, ..) for computing on all combinations of size 'm' (for small 'm' !). o The cumxxx() functions now handle logical/integer arguments separately from numeric ones, and so return an integer result where appropriate. o data.frame() has a new argument 'stringsAsFactor'. This and the default for read.table(as.is=) are set from the new global option 'stringsAsFactors' via the utility function default.stringsAsFactors(). o dev.interactive() now has an optional argument 'orNone'. o df() now has a noncentrality argument 'ncp', based on a contribution by Peter Ruckdeschel. o example() gains an argument 'ask' which defaults to "TRUE when sensible", but the default can be overridden by setting option 'example.ask'. o expand.grid() now has an argument 'KEEP.OUT.ATTRS' which can suppress (the potentially expensive) "out.attrs" attribute. It no longer returns an extraneous 'colnames' attribute. o The subset and subassign methods for factors now handle factor matrices, and dim() can be set on a factor. o There is now a format() method for class "ftable". o head(x, n) and tail(x, n) now also work for negative arguments, thanks to Vincent Goulet. o head.matrix() and tail.matrix() are no longer hidden, to be used for building head() and tail() methods for other classes. o If help() finds multiple help files for a given topic, a menu of titles is used to allow interactive choice. o help.search() now rebuilds the database if 'package' specifies a package not in the saved database. o hist(*, plot = FALSE) now warns about unused arguments. o history() gains a 'pattern' argument as suggested by Romain Francois. o integer(0) now prints as that rather than "numeric(0)" (it always deparsed as "integer(0)"). o interaction(..., drop=TRUE) now gives the same result as interaction(...)[,drop=TRUE] (it used to sometimes give a different order for the levels). o lag.plot() produces a conventional plot (not setting mfrow) if only one plot is to be produced. o lapply() does much less copying. Vector X are handled without duplication, and other types are coerced via as.list(). (As a result, package 'boot' runs its examples 4% faster.) lapply() now coerces to a list (rather than traverse the pairlist from the beginning for each item). o legend() has new parameters 'box.lwd' and 'box.lty'. o lines() gains a simple method for isoreg() results. o load() no longer coerces pairlists to lists (which was undocumented, but has been happening since 1998). o make.link() now returns an object of class "link-glm". The GLM families accept an object of this class for their 'link' argument, which allows user-specified link functions. Also, quasi() allows user-specified variance functions. o mapply() uses names more analogously to lapply(), e.g.. o matplot() now accepts a 'bg' argument similarly to plot.default() etc. o median() is now generic, and its default method uses mean() rather than sum() and so is more widely applicable (e.g. to dates). o Dummy functions memory.size() and memory.limit() are available on Unix-alikes, for people who have not noticed that documentation is Windows-specific. o merge() works more efficiently when there are relatively few matches between the data frames (for example, for 1-1 matching). The order of the result is changed for 'sort = FALSE'. o merge() now inserts row names as a character column and not a factor: this makes the default sort order more comprehensible. o Raw, complex and character vectors are now allowed in model frames (there was a previously undocumented restriction to logical, integer and numeric types.). Character vectors in a formula passed to model.matrix() are converted to factors and coded accordingly. o modifyList() utility, typically for housekeeping nested lists. o x <- 1:20; y <- rnorm(x); nls(y ~ A*exp(-x^2/sig)) no longer returns an unhelpful error message. In this and similar cases, it now tries a wild guess for starting values. o Ops.difftime() now handles unary minus and plus. o Ops.Date() and Ops.POSIXt() now allow character arguments (which are coerced to the appropriate class before comparison, for Ops.POSIXt() using the current time zone). o There is a new option(max.contour.segments = 25000) which can be raised to allow extremely complex contour lines in contour() and contourLines(). (PR#9205) o options(max.print = N) where N defaults to 99999 now cuts printing of large objects after about N entries. print(x, ..., max = N) does the same for the default method and those building on print.default(). options("menu.graphics") controls if graphical menus should be used when available. options("par.ask.default") allows the default for par("ask") to be set for a newly-opened device. (Defaults to FALSE, the previous behaviour.) The way option("papersize") is set has been changed. On platforms which support the LC_PAPER locale category, the setting is taken first from the R_PAPERSIZE environment variable at run time, then from the LC_PAPER category ("letter" for _US and _CA locales and "a4" otherwise). On other platforms (including Windows and older Unixen), the choice is unchanged. o package.skeleton() gains arguments 'namespace' and 'code_files'. o par(ask=TRUE) now only applies to interactive R sessions. o parse() now returns up to 'n' expressions, rather than fill the expressions vector with NULL. (This is now compatible with S.) o The 'version' argument for pdf() is now increased automatically (with a warning) if features which need a higher level are used. o pie() now allows expressions for 'labels', and empty slices. o There is a new '%.%' operator for mathematical annotations (plotmath) which draws a centred multiplication dot (a \cdot in LaTeX), thanks to Uwe Ligges. o predict.lm() gains a 'pred.var' argument. (Wishlist PR#8877.) o print.summary.{aov,glm,lm,nls} and print.{aov,glm} make use of naprint() to report when na.action altered the model frame. o print.table(T, zero.print=ch) now also replaces 0 by ch when T is non-integer with integer entries. o Recursive rapply() which is similar to lapply but used recursively and can restrict the classes of elements to which it is applied. o r2dtable() has been moved to package 'stats'. o New function read.DIF() to read Data Interchange Format files, and (on Windows) this format from the clipboard. o New experimental function readNEWS() to read R's own "NEWS" file and similarly formatted ones. o readLines() has a new argument 'warn' to suppress warnings: the default behaviour is still to warn. o reg.finalizer() has a new argument 'onexit' to parallel the C-level equivalent R_RegisterFinalizerEx. o rep() is now a primitive function and under some conditions very much faster: rep.int() is still a little faster (but does less). (Because it is primitive there are minor changes to the call semantics: see the help page.) o The 'row.names' of a data frame may be stored internally as an integer or character vector. This can result in considerably more compact storage (and more logical row names from rbind) when the row.names are 1:nrow(x). However, such data frames are not compatible with earlier versions of R: this can be ensured by supplying a character vector as 'row.names'. row.names() will always return a character vector, but direct access to the attribute may not. The internal storage of row.names = 1:n just records 'n', for efficiency with very long vectors. The "row.names" attribute must be a character or integer vector, and this is now enforced by the C code. o The "data.frame" and "matrix" methods for rowsum() gain an 'na.rm' argument. o Experimental support for memory-use profiling via Rprof(), summaryRprof(), Rprofmem() and tracemem(). o save.image() [also called by sys.save.image() and hence from q()] now defaults to saving compressed binary images. To revert to the previous behaviour set option "save.image.defaults": see ?save.image. o There is a new primitive seq.int() which is slightly more restricted than seq() but often very much faster, and new primitives seq_along() and seq_len() which are faster still. o serialize(connection = NULL) now returns a raw vector (and not a character string). unserialize() accepts both old and new formats (and has since 2.3.0). o setwd() now returns the previously current directory (invisibly). o The function sort() is now sort.int(), with a new generic function sort() which behaves in the same way (except for the order of its argument list) for objects without a class, and relies on the '[' method for objects with a class (unless a specific method has been written, as it has for class "POSIXlt"). o sort.list() now implements complex vectors (PR#9039), and how complex numbers are sorted is now documented. o spline() and splinefun() now follow approx[fun] to have an argument 'ties = mean' which makes them applicable also when 'x' has duplicated values. o str(x) does not print the S3 "class" attribute when it is the same as 'mode' (which is printed anyway, possibly abbreviated) and it puts it beside mode for atomic objects such as S3 class "table". o str() now outputs 'data.frame' instead of `data.frame'; this may affect some strict (Package) tests. o str() now takes also its defaults for 'vec.len' and 'digits.d' from options('str') which can be set by the new strOptions(). o symnum() has a new argument 'numeric.x' particularly useful for handling 0/1 data. o Sys.getlocale() and Sys.setlocale() support LC_MESSAGES, LC_PAPER and LC_MEASUREMENT if the platform does. o Sweave has a new options 'pdf.encoding' and 'pdf.version' for its Rweave driver. o The character vector used by an output textConnection() has a locked binding whilst the connection is open. There is a new function textConnectionValue() to retrieve the value of an output textConnection(). o traceback() gains a 'max.lines' argument. .Traceback is no longer stored in the workspace. o warning(immediate. = TRUE) now applies to getOption("warn") < 0 and not just == 0. o warnings() is now an accessor function for 'last.warning' (which is no longer stored in the workspace) with a print() method. o The internal internet download functions have some new features from libxml 2.6.26. o There is an option "HTTPUserAgent" to set the User Agent in R download requests etc. Patch from S. Falcon. o PCRE has been updated to version 6.7. o The C function substituteList now has tail recursion expanded out, so C stack overflow is less likely. (PR#8141, fix by Kevin Hendricks) o The (somewhat soft) 1023/4 byte limit on command lines is now documented in 'An Introduction to R'. o The maximum number of open connections has been increased from 50 to 128. o There is a new manual 'R Internals' on R internal stuctures plus the former appendices of 'Writing R Extensions'. o The autoloads introduced at the package re-organization have been almost completely removed: the one that remains is for ts(). o The setting of the various Java configuration variables has been improved to refer to JAVA_HOME, and they are now documented in the R-admin manual. o It is (again) possible to calculate prediction intervals from "lm" objects for the original data frame, now with a warning that the intervals refer to future observations. Weighted intervals have also been implemented, with user-specifiable weights. Warnings are given in cases where the default behaviour might differ from user expectations. See the ?predict.lm for details. CHANGES TO S4 METHODS o The default prototype object for S4 classes will have its own internal type in 2.4.0, as opposed to being an empty list (the cause of several errors in the code up to 2.3.1). Note that old binary objects, including class definitions, will be inconsistent with the type, and should be recreated. o S4 method dispatch has been completely revised to use cached generic functions and to search for the best match among inherited methods. See ?Methods and http://developer.r-project.org/howMethodsWork.pdf o Objects created from an S4 class are now marked by an internal flag, tested by isS4() in R and by macro IS_S4_OBJECT() in C. This is an efficient and reliable test, and should replace all earlier heuristic tests. o Some changes have been made to automatic printing of S4 objects, to make this correspond to a call to show(), as per 'Programming with Data'. o S4 generic and class definitions are now cached when the related package is loaded. This should improve efficiency and also avoid anomalous situations in which a class or generic cannot be found. o trace() now creates a new S4 class for the traced object if required. This allows tracing of user-defined subclasses of "function". DEPRECATED & DEFUNCT o The re-named tcltk functions tkcmd, tkfile.tail, tkfile.dir, tkopen, tkclose, tkputs, tkread are now defunct. o Argument 'col' of bxp() has been removed: use 'boxfill'. o Use of NULL as an environment is now an error. o postscriptFont() is defunct: use Type1Font(). o La.chol() and La.chol2inv() are defunct (they were the same as the default options of chol() and chol2inv). o La.svd(method = "dgesvd") is defunct. o Files install.R and R_PROFILE.R in packages are now ignored (with a warning). o The following deprecated command-line options to INSTALL have been removed (use the fields in the DESCRIPTION file instead): -s --save --no-save --lazy --no-lazy --lazy-data --no-lazy-data o Graphical parameter 'tmag' is obsolete. o mauchley.test() (package 'stats') is now defunct. o symbol.C() and symbol.For() are deprecated. They are required in S for use with is.loaded(), but are not so required in R. o load()ing an object saved in one of the formats used prior to R 1.4.0 is deprecated. Such objects should be re-saved in the current format. o save(version = 1) is now deprecated. C-LEVEL FACILITIES o The convenience function ScalarLogical now coerces all non-zero non-NA values to TRUE. o The vector accessor functions such as INTEGER, REAL and SET_VECTOR_ELT now check that they are called on the correct SEXPTYPE (or at least on a compatible one). See `Writing R Extensions' for the details and for a stricter test regime. o It is no longer possible to pass list variables to .C(DUP = FALSE): it would have given rise to obscure garbage collection errors. o allocString is now a macro, so packages using it will need to be reinstalled. o R_ParseVector was returning with object(s) protected in the parser if the status was PARSE_INCOMPLETE or PARSE_ERROR. o There is a new function Rf_endEmbeddedR to properly terminate a session started by Rf_initEmbeddedR, and both are now available on Windows as well as on Unix-alikes. These and related functions are declared in a new header . If R_TempDir is set when embedded R is initialized it is assumed to point to a valid session temporary directory: see `Writing R Extensions'. o There is a new interface allowing one package to make C routines available to C code in other packages. The interface consists of the routines R_RegisterCCallable and R_GetCCallable. These functions are declared in . This interface is experimental and subject to change. In addition, a package can arrange to make use of header files in another (already installed) package via the 'LinkingTo' field in the DESCRIPTION file: see 'Writing R Extensions'. UTILITIES o R CMD SHLIB now handles (as linker commands) -L*, -l* and *.a. o R CMD check now: - warns if there are non-ASCII characters in the R code (as these will likely be syntax errors in some locale). - tests Rd cross-references by default, and tests for (syntactically) valid CITATION metadata. - tests that the package can be loaded, and that the package and namespace (if there is one) can each be loaded in startup code (before the standard packages are loaded). - tests for empty 'exec' or 'inst' directories. - checks if $(FLIBS) is used when $(BLAS_LIBS) is. - checks that all packages (except non-S4-using standard packages) used in ::, :::, library() and require() calls are declared in the DESCRIPTION file, and 'methods' is declared if S4 classes or methods are set. - throws an error if the standard packages 'methods' and 'stats4' are imported from in the NAMESPACE file and not declared in the DESCRIPTION file. o The test script produced by massage-Examples.pl no longer creates objects in the base environment. o New utilties R CMD Stangle and R CMD Sweave for extracting S/R code from and processing Sweave documentation, respectively. o The DESCRIPTION file of packages may contain an 'Enhances:' field. o An R CMD javareconf script has been added to allow Java configuration to be updated even after R has been installed. INSTALLATION o The C function realpath (used by normalizePath()) is hidden on some systems and we try harder to find it. o There is a new option --enable-BLAS-shlib, which compiles the BLAS into a dynamic library -lRblas and links against that. For the pros and cons see the R-admin manual. The defaults are now --without-blas (so you have explicitly to ask for an external BLAS), and --enable-BLAS-shlib unless a usable external BLAS is found or on AIX or on MacOS X 10.2 and earlier. o MacOS X did not like having LSAME in both BLAS and LAPACK libraries, so it is no longer part of the R-internal LAPACK. We now require an external BLAS to provide LSAME: it seems that nowadays all do. o The configure test for 'whether mixed C/Fortran code can be run' has been improved as on one system that test passed but the Fortran run-time library was broken. o A precious configure variable DEFS can be set to pass defines (e.g. -DUSE_TYPE_CHECKING_STRICT) to C code when compiling R. o There is now a test for visible __libc_stack_end on Linux systems (since it is not visible on some recent glibc's built from the sources). o MacOS X 10.4 and higher now use two-level namespaces, single module in a shared library and allow undefined symbols to be resolved at run-time. This implies that common symbols are now allowed in package libraries. --enable-BLAS-shlib is supported for internal BLAS, external BLAS framework and external static BLAS. An external dynamic library BLAS is NOT supported. (But it can be easily used by replacing internal BLAS library file later.) MacOS X < 10.4 does not support --enable-BLAS-shlib. o Dynamic libraries and modules use a flat namespace on MacOS X 10.4 and higher if either Xcode tools don't support dynamic lookup (Xcode < 2.3) or the FORCE_FLAT_NAMESPACE environment variable is set. (The latter was introduced temporarily for testing purposes and may go away anytime.) o configure now defaults to 'run-time linking' on AIX (and AIX < 4.2 is no longer allowed), using -bexpall rather than export/import files. If this works, it allows R to be built in the same way as other Unix-alikes, including with R as a shared library and with a shared BLAS. o The "mac.binary" package type now defaults to universal binary. If a repository supports architecture-specific Mac binaries, they can be requested by using "mac.binary.xxx" in contrib.url(), where xxx is the desired architecture. BUG FIXES o The name of a Fortran symbol reported to be missing by .Fortran() is now the actual name. (What was reported to be an 'entry point' was missing the common leading underscore.) o print() on a MBCS character string now works properly a character at a time rather than a byte at time. (This does not affect MBCSs like UTF-8 and the Windows DBCSes which have non-ASCII lead bytes and always worked correctly.) o glm() now recalculates the null deviance whenever there is an offset (even if it is exactly zero to avoid a discontinuity in that case, since the calculations with and without offset are done by different algorithms). o Amongst families, quasi() accepted an expression for link and no other did. Now all accept an expression which evaluates to a one-element character vector (although e.g. 'logit' is taken as a name and not an expression). o trace() now accepts arguments where= and signature= for the old-style trace (no tracer or exit, edit==FALSE) and just prints a message on entry. Also the undocumented feature of where=function now works for generic functions as well. o callNextMethod() failed for recursive use when the methods had nonstandard argument lists. Now enforces the semantic rule that the inheritance is fixed when the method containing the callNextMethod() is installed. See Details in the documentation. o UseMethod() looked for the defining environment of 'generic' as if it were the current function, although some functions are generic for methods of a different generic. Lookup for S3 methods is confined to functions: previously a non-function 'fun.class' could have masked a function of the same name. o Line types (lty) specified as hex strings were documented not to allow zero, but some devices accepted zero and handled it in a device-dependent way. Now it is an error on all devices. (PR#8914) o Subassignment for a time series can no longer extend the series: it used to attempt to but failed to adjust the tsp attributes. Now window() must be used. o Function AIC() in package 'stats4' was not dispatching correctly on S4 classes via logLik() because of namespace issues. o Subsetting LANGSXPs could break the call-by-value illusion. (PR#7924) (patch from Kevin Hendricks). o parse() with n > 1 gave a syntax error if fewer than n statements were available. o parse() with n > 1 gave strange results on some syntax errors. (PR#8815) o lag.plot() now respects graphical parameters for the axes. o Using a wrong link in family() now gives more consistent error messages. o sort.list(method="radix") works on factors again. o object.size() is more accurate for vector objects (it takes into account the smaller header and also the fixed sizes used in the node classes for small vector objects). o addmargins(T, ...) now returns a "table" when 'T' is a "table", as its help page has always suggested. o remove() now explicitly precludes removing variables from baseenv() and throws an error (this was previously ignored). o Saving the workspace at the end of a session now works as has long been intended, that is it is saved only if something has been added/deleted/changed during the current session. o The search for bindings in <<-, ->> and assign(inherits=TRUE) was omitting the base package, although this was not documented. Now the base package is included (but most bindings there are locked). o dweibull(0, shape) was NaN not Inf for shape < 1. Also, the help for dgamma and dweibull gave support as x > 0, but returned non-zero values for x = 0. (PR#9080) o Subsetting arrays no longer preserves attributes (it was removed for matrices in 1998). o The "factor" method of as.character() no longer maps level "NA" to "" (a legacy of before there were NA character strings). o terms(keep.order=TRUE) was not returning a valid "order" attribute. o The DLL registration code was not freeing .External symbols. o The internet download routines expected URLs of less than 4096 bytes, but did not check. Now this is checked, and http:// URLs are allowed to be up to 40960 bytes. o parse(n=-1) threw a stack-imbalance error, and parse(n=3) did not cope correctly with EOF during input. o Zero-column data frames had no names (rather than character(0)). o by() and acf() could get confused when they used very long expressions as names. o residuals(, type="working") was NA for cases with zero weight (whereas they are well-defined even though the case was not used during the fitting) and the actual value is now returned. This allows residuals to be computed from fits with 'y = FALSE'. The residuals in a fitted "glm" object are computed more accurately: the previous formula was subject to cancellation. o loess() now checks the validity of its 'control' argument. o rownames(<0-row matrix>, do.NULL=FALSE) was wrong. (PR#9136) o apply() now works as documented when applied over 2 or more margins with one of zero extent. (It used to drop dimensions.) o head() and tail() now also work row-wise for "table" and "ftable" objects. o NextMethod() could throw an error/crash if called from a method that was called directly rather than from a generic (so .Method was unset). o order(x, na.last = NA) failed for a zero-length x. o grep(pat, x, value = TRUE, perl = L) preserved names for L == TRUE && !is.na(pat) but not otherwise. Now it always does. o [rc]bind() now find registered methods and not just visible ones. o Printing a factor no longer ignores attributes such as names and dim/dimnames. o Command-line arguments after --encoding were ignored. o The check for impossible confidence levels was off by one in wilcox.test (PR#8557) o [[ on an environment could create aliases. (PR#8457) o pt() with a very small (or zero) non-centrality parameter could give an unduly stringent warning about 'full precision was not achieved'. (PR#9171) o writeChar() could segfault if 'nchars' was given silly values. o qt() and rt() did not work for vector 'ncp', and qt() did not work for negative 'ncp'. o ns() failed to work correctly when 'x' was of length one. o identical() ignored tags on pairlists (including names of attributes) and required an identical ordering for attribute values in their pairlists. Now names are compared on pairlists, and attribute sets are treated as unordered. o If they were unused arguments supplied to a closure, only the first non-empty one was reported, despite the message. Unmatched empty arguments (such as f(1,,) for a function of one argument) were ignored. They are now an error. o Calling a builtin with empty arguments used to silently remove them (and this was undocumented). Now this is an error unless builtin is c() or list() or there are only trailing empty arguments, when it is a warning (for the time being: this will be made an error in R 2.5.0). o install.packages() ignored 'configure.args' if the vector was unnamed. o biplot() now works if there are missing values in the data. o biplot() now passes par() values to all four axes (not just those on sides 1 and 2). o [.acf now handles an empty first index. o Deparsing uses backticks more consistently to quote non-syntactic names. o Assigning to the symbol in a for() loop with a list/expression/pairlist index could alter the index. Now the loop variable is explicitly read-only. (PR#9216) o Using old.packages() (and hence update.packages()) on an empty (or non-existent) library failed with an obscure message. o plot.xy() could segfault if supplied with an invalid 'col' argument. (PR#9221) o menu() with graphics=TRUE attempted to use Tcl/Tk on unix even if DISPLAY was not set (in which case Tk is not available and so the attempt is bound to fail). o The print() method for 'dist' objects prints a matrix even for n = 2. o The cumxxx functions were missing some PROTECTs and so could segfault on long vectors (especially with names or where coercion to numeric occurred). o The X11() device no longer produces (apparently spurious) 'BadWindow (invalid Window parameter)' warnings when run from Rcmdr. o legend() assumed that widths and heights of strings were positive, which they need not be in user coordinates with reversed axes. (In part, PR#9236) o The plot() methods for "profile.nls" objects could get confused if 'which' had been used in the profile() call. (PR#9231) o boxplot() did not passed named arguments (except graphics parameters) to bxp() as documented. (PR#9183) o Only genuinely empty statements act as 'return' in the browser, not say those starting with a comment char. (PR#9063) o summary.mlm() incorrectly used accessor functions to fake an "lm" object. (PR#9191) o prettyNum() was not preserving attributes, despite being explicitly documented to. (PR#8695) o It was previously undocumented what happened if a graphical parameter was passed in both '...' and 'pars' to boxplot() and bxp(), and they behaved differently. Now those passed in '...' have precedence in both cases. o A failed subassignment could leave behind an object '*tmp*'. The fix also sometimes gives better error messages. o Using SIGUSR1 on Unix now always terminates a session, and no longer is caught by browser contexts and restarts (such as try()). o In the 'graphics' package, in-line 'font=5' was being ignored (report by Tom Cook). o nls() looked for non-parameter arguments in a function call in the wrong scope (from the body of nls). o Printing of complex numbers could misbehave when one of the parts was large (so scientific notation was used) and the other was so much smaller that it had no significant digits and should have been printed as zero (e.g. 1e80+3e44i). o Using install.packages with type="mac.binary" and target path starting with ~ failed with a cryptic message while unpacking. o getwd() now works correctly when the working directory is unavailable (e.g. unreadable). o The alternative hypothesis in wilcox.test() was labelled by an unexplained quantity 'mu' which is now spelled out. The alternative hypothesis in ks.test() is clearer both in the documentation and in the result. (PR#5360) -- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907 From p.murrell at auckland.ac.nz Fri Oct 6 04:07:14 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Fri, 06 Oct 2006 15:07:14 +1300 Subject: DSC final call Message-ID: <4525BA52.10503@stat.auckland.ac.nz> Hi This is a final call for abstracts; the deadline for submitting abstracts is October 15 2006. Please forward and circulate to other interested parties. [apologies for any cross-posting] DSC 2007, a conference on systems and environments for statistical computing, will take place in Auckland, New Zealand on February 15 & 16, 2007. We invite abstracts on the development of software systems and computing environments for interactive statistics. The workshop will focus on, but is not limited to, open source statistical computing. The deadline for early registration for the conference is December 1st (2006-12-01) Please visit the conference web page at http://www.stat.auckland.ac.nz/dsc-2007/ and send abstracts (one page) to dsc2007 at stat.auckland.ac.nz Paul (on behalf of the Organising Committee) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From p.murrell at auckland.ac.nz Tue Oct 31 19:52:09 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Wed, 01 Nov 2006 07:52:09 +1300 Subject: R News, volume 6, issue 4 is now available Message-ID: <45479B59.60103@stat.auckland.ac.nz> Hi The October 2006 issue of R News is now available on CRAN under the Documentation/Newsletter link. Paul (on behalf of the R News Editorial Board) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From p.murrell at auckland.ac.nz Thu Nov 23 02:24:12 2006 From: p.murrell at auckland.ac.nz (Paul Murrell) Date: Thu, 23 Nov 2006 14:24:12 +1300 Subject: DSC 2007 registration and scientific program Message-ID: <4564F83C.7060500@stat.auckland.ac.nz> Hi DSC 2007, a conference on systems and environments for statistical computing, will take place in Auckland, New Zealand on February 15 & 16, 2007. This is a reminder that the deadline for early bird DSC registration is December 1, 2006. Also, the accepted abstracts for DSC are now available on the web site http://www.stat.auckland.ac.nz/dsc-2007/abstracts/abstracts.html Finally, a reminder that there is a small amount of financial assistance being offered to help people attend DSC. For details, please see http://www.stat.auckland.ac.nz/dsc-2007/#funding Please visit the conference web page at http://www.stat.auckland.ac.nz/dsc-2007/ Paul (on behalf of the Organising Committee) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From p.murrell at auckland.ac.nz Fri Dec 1 23:15:05 2006 From: p.murrell at auckland.ac.nz (p.murrell at auckland.ac.nz) Date: Sat, 2 Dec 2006 11:15:05 +1300 (NZDT) Subject: R News, volume 6, issue 5 is now available Message-ID: <50369.219.88.201.195.1165011305.squirrel@www.stat.auckland.ac.nz> Hi The December 2006 issue of R News is now available on CRAN under the Documentation/Newsletter link. Paul (on behalf of the R News Editorial Board) -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ From P.Dalgaard at biostat.ku.dk Mon Dec 18 11:15:13 2006 From: P.Dalgaard at biostat.ku.dk (Peter Dalgaard) Date: Mon, 18 Dec 2006 11:15:13 +0100 Subject: R 2.4.1 is released Message-ID: <45866A31.5070504@biostat.ku.dk> I've rolled up R-2.4.1.tar.gz a short while ago. This is a maintenance release and fixes a number of mostly minor bugs. See the full list of changes below. You can get it (in a short while) from http://cran.r-project.org/src/base/R-2/R-2.4.1.tar.gz or wait for it to be mirrored at a CRAN site nearer to you. Binaries for various platforms will appear in due course. For the R Core Team Peter Dalgaard These are the md5sums for the freshly created files, in case you wish to check that they are uncorrupted: a8efde35b940278de19730d326f58449 AUTHORS eb723b61539feef013de476e68b5c50a COPYING a6f89e2100d9b6cdffcea4f398e37343 COPYING.LIB 62b256c4a06aeed7401c9430f1e41d0f FAQ 70447ae7f2c35233d3065b004aa4f331 INSTALL 06f14fbf950fbc7df31028344c78163b NEWS 88bbd6781faedc788a1cbd434194480c ONEWS 4f004de59e24a52d0f500063b4603bcb OONEWS 92b33fd2c3e770d595c1a472889230d5 R-2.4.1.tar.gz 92b33fd2c3e770d595c1a472889230d5 R-latest.tar.gz 433182754c05c2cf7a04ad0da474a1d0 README 020479f381d5f9038dcb18708997f5da RESOURCES 4eaf8a3e428694523edc16feb0140206 THANKS Here is the relevant bit of the NEWS file: CHANGES IN R VERSION 2.4.1 INSTALLATION o The extraction of info from Subversion for an SVN checkout now also works for svn >= 1.4.0. However, on Windows the 'Last Changed Date' will be in the local timezone, and not in GMT as previously. o configure uses code borrowed from autoconf 2.60 to try harder to ensure that a C99-compliant compiler is used. (It does so by appending to CC.) This avoids problems with systems such as FC5 which override CFLAGS and thereby lose flags such as -std=gnu99. NEW FEATURES o rainbow(), heat.colors(), terrain.colors(), topo.colors() and cm.colors() all gain an 'alpha' argument to be passed to hsv(). o dput() will give an incorrect representation of the row names of a data frame with integer row names. This is now corrected when the object is recreated. C-LEVEL FACILITIES o Using STRICT_R_HEADERS applies to more reported clashes with Windows headers, including Calloc and Realloc. These and Free need to be prefixed by R_ when STRICT_R_HEADERS is defined. DEPRECATED & DEFUNCT o The previously undocumented behaviour of structure() in adding a class when specifying "tsp" or "levels" attributes is now deprecated (with a warning). BUG FIXES o Fixed warning() to use .dfltWarn intead of .dfltStop for default handling (PR#9274). o R would slow down when the product of the length of a vector and the length of a character vector used to subset it exceeded 2^31. (PR#9280) o merge() now allows zero-row data frames. o add1.lm() had been broken by other changes for weighted fits. o axis.POSIXct() would sometimes give the wrong labels. o Help for a method call would fail. (PR#9291) o gzfile() returned an object of class "file" not "gzfile". (PR#9271) o load()ing from a connection had a logic bug in when it closed the connection. (PR#9271) o The lowess() algorithm is unstable if the MAD of the residuals becomes (effectively) zero: R now terminates the iterations at that point. (This may result in quite different answers.) The 'delta' argument was incorrectly documented. (PR#9264) o abbreviate() would only work for strings of up to 8191 bytes, but this was not checked. Now longer strings are errors. o Drawing X11 rotated text was buggy for VERY small (negative) angle of rotation. Reported by Ben Bolker. (PR#9301) o The X11 data editor would crash in an MBCS locale if R was compiled with FC's CFLAGS that add buffer overflow and stack-smashing detection. o rect() was not accepting border=NA in some cases involving cross-hatching. o Fixes to S4 group generics to ensure that the correct number of active arguments are in the signature of the group and all members. Also a fix to keep the 'groupMembers' slot up to date. o S4 group generic "Logic" (with '&', '|', but not '!') has been created, following the green book (apart from '!'). o removeClass() now takes care to remove any subclass references to the deleted class. o mle() (in stats4) might not have worked as intended when the order of parameters in 'start' differed from that in the log-likelihood. (PR#9313) o dotchart() now properly restores par() settings after itself. o system() on Mac OS X was blocking arbitrary signals during the call although only SIGPROF was meant to be blocked. o methods cached via callNextMethod() and (sometimes) as() were being cached as directly specified although in fact they were inherited. Caused problems in later search for inherited methods. o str() works properly for method definitions and other S4-classed function objects. o JAVA_LIBS are now set correctly on MacOS X. o Fix null-termination issue suspected of causing crash with Fedora Extra RPMS (PR#9339, Justin Harrington, analysis and fix from Bill Dunlap). o Namespaces restored via a saved session silently failed to cache their methods because the methods package was not yet attached. Fixed by attaching methods before restoring data. o rbind()ing a list to a data frame generated invalid row names, which were an error in 2.4.0. (PR#9346) o boxplot.stats(x) now returns the correct minimum instead of an error for x <- c(1,Inf,Inf,Inf), and hence boxplot(x) "works". o promptClass() now uses \linkS4class{} instead of of \link{-class}. o gc() no longer reports nonsense values for the number of used Vcells if the true value exceeds 2^31 (and hence over 16Gb of heap is in use): it now reports NA. (PR#9345) o rapply() now detects more user errors in supplying arguments. (PR#9349) o boxplot() was ignoring argument 'boxfill'. (PR#9352) o plot.lm(which = 6, id.n = 0) did not work. (PR#9333) o .deparseOpts("delayPromises") was not matching the C code, returning 64 rather than 32. o bxp() could use partial matching on 'pars' when finding defaults for some of its parameters, e.g. a setting of 'cex.axis' in 'pars' or inline was used to set a default for 'outcex'. o acf() now allows lag.max = 0 except when type="partial", and forces the lag 0 autocorrelation to 1. (PR#9360) o hist(*, include.lowest=., right=., plot=FALSE) does not warn anymore, (PR#9356) and more. o Some bugs in caching superclass/subclass relations and in removing those relations on detach and on removeClass() have been fixed. o readBin() could return one too many strings if 'n' was an over-estimate. (PR#9361) o A request for an opaque colour in the pdf() device after a translucent one did not set the transparency back to opaque in 2.4.0. Semi-transparent background colours were not being plotted on the pdf() device. o plot.lm(which=5) in the case of constant leverage re-ordered the factor levels but not the residuals, so the labelling by factor level was often incorrect. o packBits() was not accepting a logical argument. (PR#9374) o make install was omitting doc/FAQ and doc/RESOURCES. o A two-sample t.test(x, y, var.equal=TRUE) did not allow one of the groups to be of size one. o The "ts" method for print() failed on some corrupted objects of class "ts", e.g. those without a "tsp" attribute. o structure() reordered the "class" value given if there was a "tsp" value specified. o pairs() now does pass appropriate parts of '...' to the 'diag.panel' argument. (PR#9384) o plot.lm() was using an incorrect estimate of dispersion for some GLMs (including family=binomial and family=poisson). (PR#9316) o Subsetting operators were setting R_Visible too early, so assignments in arguments could make the result invisible. (PR#9263) o The tk-GUI was displaying a warning due to an extra comma in the list of manuals (PR#9396) o packageDescription() now gives an explicit error on a corrupt DESCRIPTION file. o There was a scoping issue with tcltk callbacks given as unevaluated expressions. This has only been partially fixed, a complete fix probably requires redesign. o trace() had its return value documented incorrectly and was sometimes visible when it should not have been. o pchisq() would sometimes use the wrong tail when calculating non-central probabilities with lower.tail = FALSE. (PR#9406) o rm() could remove the wrong objects when passed an expression. (PR#9399) Now only names are allowed in the '...' argument, and the incorrect documentation of what happened with character objects is corrected. o url() was not supporting 'encoding' except on file:// URLs. -- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907