building even though it uses INSTALL_DATA on them so set SHAREMODE=644
rather than have to patch an ever increasing number of files.
Idea from Julio M. Merino Vidal.
USER-VISIBLE CHANGES
o Underscore '_' is now allowed in syntactically valid names, and
make.names() no longer changes underscores. Very old code
that makes use of underscore for assignment may now give
confusing error messages.
o Package 'base' has been split into packages 'base', 'graphics',
'stats' and 'utils'. All four are loaded in a default
installation, but the separation allows a 'lean and mean'
version of R to be used for tasks such as building indices.
Packages ctest, eda, modreg, mva, nls, stepfun and ts have been
merged into stats, and lqs has been returned to MASS. In all
cases a stub has been left that will issue a warning and ensure
that the appropriate new home is loaded. All the time series
datasets have been moved to package stats. Sweave has been
moved to utils.
Package mle has been moved to stats4 which will become the
central place for statistical S4 classes and methods
distributed with base R. Package mle remains as a stub.
Users may notice that code in .Rprofile is run with only the
new base loaded and so functions may now not be found. For
example, ps.options(horizontal = TRUE) should be preceded by
library(graphics) or called as graphics::ps.options or,
better, set as a hook -- see ?setHook.
o There has been a concerted effort to speed up the startup of
an R session: it now takes about 2/3rds of the time of 1.8.1.
o A warning is issued at startup in a UTF-8 locale, as currently R
only supports single-byte encodings.
plus many new features and bug fixes.
Changes since 1.6.2
Many new features.
Language changes.
Additional standard package 'mle'.
Some old features deprecated or defunct.
Many many bug fixes.
Update to 1.8.0 from Ray Brownrigg in private communication, cleaned up
and updated to 1.8.1 by me.
CHANGES IN R VERSION 1.6.2
BUG FIXES
o plot.stepfun() now obeys a `ylim=.' specification.
o removeClass() does a better job of removing inheritance
information.
o setIs() will not allow mismatched representations between two
classes (without an explicit coerce method).
o The code underlying polygon drawing contained a memory leak.
This showed up in persp, but did not affect other graphics
functions. It is now possible to draw big DEMs.
o logLik.nls() gave wrong df.
o rbind() with a mixture of data frames and matrices treated the
matrices as vectors.
o stripchart(method="stack") was not handling missing values.
o Arithmetic functions such as log() lost the object bit from
classed objects if coercion was needed.
o exp_rand would go into an infinite loop if unif_rand returned 0.
o formatC(x, format="fg") could return exponential format if
rounding pushed x over a positive power of 10.
o attr(x, foo) used partial matching for `foo' (even though not
documented to do so), and failed to find `foo' if there were
two or more partial matches before the exact match in the list
of attributes.
o Rdconv now creates direct HTML hyperlinks when linking to
documentation in the same package. The code now ensures that
links which can be resolved within the package are so resolved,
even when there are possible resolutions in other packages.
o If readBin(what=character()) is used incorrectly on a file which
does not contain C-style character strings, warnings (usually
many) are now given.
o Building libR.so with the zlib in the R sources was not
finding the local zlib headers.
o system(intern=TRUE) has an undocumented line length limit of
119 chars both on Unix and Windows. The limit is now 8096 and
documented. On Unix (only) every 120th character used to be
discarded.
o plot.POSIX[cl]t were not passing graphics parameters on to
axis.POSIXct.
o On some HP-UX systems, installed scripts were not executable
when using the BSD-compatible install system program found by
configure. We now always use install-sh on HP-UX.
o c() was converting NA names to "NA": now proper NA strings are
used wherever possible.
o A typo was causing segfaults when using data.entry under SuSE.
Pkgsrc changes:
Now builds the libR.so and provides a buildlink2.mk for packages that want
to use it. From suggestions from Kent Polk.
Recommended library set is now included in the base package.
Changes:
CHANGES IN R VERSION 1.6.1
NEW FEATURES
o Added a few "trivial and obviously missing" functions to tcltk:
tkchooseDirectory, tkpopup, tkdialog, tkread
o barplot() has a new argument `axis.lty', which if set to 1
allows the pre-1.6.0 behaviour of plotting the axis and tick
marks for the categorical axis. (This was apparently not
intentional, but axis() used to ignore lty=0.)
The argument `border' is no longer ".NotYetUsed".
CHANGES IN R VERSION 1.6.0
USER-VISIBLE CHANGES
o The default colour palette now has "grey" instead of "white"
in location 8. See palette().
o grid(nx) behaves differently (but the same as in R versions <= 0.64).
NEW FEATURES
o Preparations for name space support:
o The objects created in the methods package to represent
classes, generic functions, method definitions, and
inheritance relations now themselves belong to true classes. In
particular, the "classRepresentation" objects follow the description
in "Programming with Data" (section 7.6).
o Other additions and changes to the methods package:
o New methods ([[, print, str) and extended plot() method
(incl. logical `horiz') for "dendrogram" class.
o sprintf() now checks the agreement between formats and object
types, and handles special values (NA, Inf, ...) correctly.
o chol() now uses a tolerance for non-positive-definiteness and
so should give more consistent results across platforms.
o New function agrep() for approximate (fuzzy) string matching.
o help.search() can now use both approximate (fuzzy) and regular
expression matching. By default, if the pattern to be matched
consists of only alphanumeric characters, whitespace or a dash,
approximate matching is used.
o axis() has three new optional arguments `col', `lty', and `lwd'
all for drawing the axis line and tick marks.
o Function vcov() (formerly in MASS), a generic function to
return the variance-covariance matrix of the parameter
estimates of a fitted model.
o duplicated() and unique() have methods for matrices and arrays
(based on ideas from Jens Oehlschl<E4>gel).
o Internally memory sizes and counts of cons cells are now stored
in unsigned longs. This allows memory limits to be set and
objects created in the range 2-4Gb on 32-bit platforms, and
allows 64-bit platforms to use much larger amounts of memory.
o Command-line flags to set memory can now use the suffix `G'
for gigabytes. The setting of maximum vsize is now only
limited by the platform's address space.
o All warning and error messages are truncated to a length set
by options(warning.length=), defaulting to 1000. (Previously
most (but not quite all) were truncated at 8192 characters.)
o [dpqr]gamma() check for shape parameter > 0.
o as.POSIX[cl]t can now convert logical NAs.
o All installed packages (even those shipped with R) are
given a `Built' field in the DESCRIPTION file.
o as.data.frame() now coerces logical matrices into logical
columns (rather than factors).
o [[<-.data.frame no longer coerces character replacement values
to factor. This is consistent with using $ to replace and
with S4.
o library() attempts to detect improperly installed packages, so
as from this version an installed package must have a
DESCRIPTION file and that file must have been stamped with a
`Built:' line (which was introduced in 1.2.0). Under
Unix-alikes, the platform is checked against that used for
installation.
o print.factor() has new arguments `max.levels' (with a smart default)
and `width'. print.ordered() is no longer needed.
o RNGkind() has an additional option for normal random generators:
"Inversion".
o data.frame() recycles factors and "AsIs" objects as well as
atomic vectors.
o rect() accepts additional graphics parameters through a ...
argument (in the same way as polygon).
o strwidth/strheight() now coerce their first argument in exactly
the same way text() does, so a wider range of inputs is allowed.
o prompt()'s default and data.frame methods have a new 3rd argument
`name' allowing them to used more easily in scripts and loops.
o rgb() has a new `maxColorValue' argument, allowing r,g,b in [0,M],
particularly in {0:255}, efficiently and non-error-prone.
o summaryRprof() provides the functionality of R CMD Rprof in R
code, though more slowly.
o pdf() now uses PDF not R code for clipping, which ensures that
partially visible text strings are (partially) shown.
o Each R session uses a per-session temporary directory which
is removed at normal termination. The directory name is given
by the tempdir() function, and filenames returned by
tempfile() will be within that directory.
o help.start() on Unix now uses a .R subdirectory of the
per-session temporary directory and not ~/.R. A side effect
is that ~/.R is now never deleted by R.
o cbind/rbind() used to ignore all zero-length vectors, an
undocumented quirk for S-compatibility. This caused problems
when combining zero-extent matrices and zero-length vectors, and
now zero-length vectors are ignored unless the result would
have zero rows/columns.
o plot.spec(x) now also works for other x than AR and Pgram results.
o New functions La.chol() and La.chol2inv() for Cholesky
decomposition and inverse of positive definite matrices using
Lapack.
o Changes to the tcltk package
o New function axTicks() returning tick mark locations like axis().
o grid() has a more sensible default behavior. Tick axis alignment
only happens when no numbers of grid cells are specified. New
arguments lwd and equilogs; nx/ny = NA for not drawing, see ?grid.
o installed.packages() has a new argument `priority'.
o termplot() uses factor levels rather than 1,2,3... for x-axis.
o The trace() function has been robustified and a new function
tracingState() added to turn tracing temporarily on and off.
o New cophenetic() in "mva" as utility for hierarchical clustering.
o p.adjust() has two new methods, 'Hommel' and 'FDR', contributed
by Gordon Smyth <smyth@wehi.edu.au>.
o stars() now has add and plot arguments.
and lots of bug fixes.
User-Visible Changes
o XDR support is now guaranteed to be available, so the default
save format will always be XDR binary files, and it is safe to
distribute data in that format. (We are unaware of any
platform that did not support XDR in recent versions of R.)
gzfile() is guaranteed to be available, so the preferred
method to distribute sizeable data objects is now via
save(compress = TRUE).
o pie() replaces piechart() and defaults to using pastel colours.
o formatC has new arguments (see below) and formatC(*, d = <dig>)
is no longer valid and must be written as formatC(*, digits = <dig>).
o Missingness of character strings is treated much more
consistently, and the character string "NA" can be used as a
non-missing value.
o summary.factor() now uses a stable sort, so the output will
change where there are ties in the frequencies.
Plus lots of new features and many bug fixes.
Add support for building R extension packages as pkgsrc packages.
Bump PKGREVISION so extension packages can depend on a version of R with
this support.
Discussed with Johnny Lam.
all dependencies on packages depending on "png" which contain shared
libraries, all for the (imminent) update to the "png" package.
[List courtesy of John Darrow, courtesy of "bulk-build".]
redefines about which buildlink.mk files would care is BUILDLINK_X11_DIR,
which points to the location of the X11R6 hierarchy used during building.
If x11.buildlink.mk isn't included, then BUILDLINK_X11_DIR defaults to
${X11BASE} (set in bsd.pkg.mk), so its value is always safe to use. Remove
the ifdefs surrounding the use of BUILDLINK_X11_DIR in tk/buildlink.mk and
revert changes to move x11.buildlink.mk before the other buildlink.mk files.
version in pkgsrc. There are many, many bugfixes, better compliance with
S3/S4, and many additional statistical analysis functions added to the
base library. There is also an improved (faster) garbage collector and
support for dynamically sizing the memory used by R. The full summary of
changes may be found on the R Project website.
first component is now a package name+version/pattern, no more
executable/patchname/whatnot.
While there, introduce BUILD_USES_MSGFMT as shorthand to pull in
devel/gettext unless /usr/bin/msgfmt exists (i.e. on post-1.5 -current).
Patch by Alistair Crooks <agc@netbsd.org>
using the newest PNG library won't work on system with an older one. To
prevent such problems with precompiled binary packages require at least
"png-1.0.9nb1" in all dependences.
particularly fixing the table editor, but also contains a few additions:
o data(), example() and help() now search the loaded packages, then
in their .lib.loc argument, the latter as pre-0.99.0. See
their help pages for the precise details.
o help() has a new argument `try.all.packages' set by the option
"help.try.all.packages". If help is not found in the normal
path and this is TRUE then a search is made of all packages
for possible matches.
o prop.trend.test() - test for trend in proportions.
o write.table() has new argument `dec' for setting the decimal
separator (SPSS/Windows and probably others want commas in
continental European locales).
o Advance warning: save(, oldstyle=TRUE) will no longer be
available after this release.
o Symbols can now be coerced to expressions, making
as.expression(quote(a)) work
since it contains loadable shared object files that are platform-specific.
Lots of bug-fixes and additions ... it's getting closer to a usable
replacement for S-PLUS.
NEW FEATURES
o new target for R installation testing : make strict-tests.
o symnum(x) now nicely codes logical x.
o convolve() has a new type = c("circular", "open", "filter")
argument allowing more than the only circular convolution.
o par(xpd) now has three settings: FALSE (clip to plot region),
TRUE (clip to figure region), or NA (clip to device region).
o zapsmall(x) works for complex x.
o new global variable R.version.string (for plots & reports).
Deprecated version & Version for new R.version & R.Version.
o R CMD Rd2dvi has builtin "Usage" help and works for multiple files.
Useful for automatic reference manual of a package.
(doc/manual/lib2tex is more efficient for installed packages, however).
BUG FIXES
o power() is now fully implemented and documented.
o A couple of problems with group generic operations.
o A bug which meant that it was not possible to add elements
to zero length lists in the obvious way has been fixed.
x <- list(); x[[1]] <- 10
x <- list(); x[["a"]] <- 11
both now work.
o save.image() ignored dot-names. (esp. .First())
o lab= argument to plot() misinterpreted by axis() via ... passing
o NULL labels in text() caused segfault
o matrix(f,...) with f a factor now coerces to character
o documentation errors for substitute and is.vector, minor fixups for
trig and nlm
o Background colours are set properly on X11 devices with
colortype="pseudo": sometimes they were not allocated separately.
o C() works (again?) for a single argument.
o is.na() didn't work properly for "list" arguments.
o symnum() sometimes failed with arrays of rank >= 3.
o in some cases one could get nonblack color instead of
black on 2nd x11() window.
o influence.measures(.) $ is.influential was wrong on the
cooks.distance.
o printing of complex NaN/Inf was wrong as well.
o printing of complex named vectors had a wrong initial space.
o allow trailing space in character->numeric coercion
o library() gave wrong "masked" warnings in some cases.
o par(xpd) semantics were not compatible with S.
o rect() output was not clipped in PostScript.
o par(pin=c(width, height)) was behaving as par(pin=c(width, width)).
o Non-blank separated data files didn't have their 1st field
handled properly.
o "aux" directory moved to "tools" to avoid difficulties on
Windows.
o structure() clobbered factors with missing levels.
o pmatch() misbehaved on duplicate matches.
o R CMD Rd2dvi <file.Rd> works again.
o logical binops tried to set time series parameters before dimensions.
o upped the BUFSIZE in model.c (NOT proper long-term solution).
o dput(), dump() and deparse() now always use DBL_DIG (=15) digits
for numeric formatting.
o chull() now works for vertical borders, such as in chull(c(1,1,2),3:1).