The ‘Changes in R 2.10.1–2.11.1’ article from the 2010-1 issue.
R CMD INSTALL
checks if dependent packages are available early on
in the installation of source packages, thereby giving clearer error
messages.
R CMD INSTALL –build
now names the file in the format used for Mac
OS X binary files on that platform.
BIC()
in package stats4
now also works with multiple fitted
models, analogously to AIC()
.
.C
for C++ code in packages is now
deprecated: it has caused problems for some make
s on
case-insensitive file systems (although it currently works with the
recommended toolkits).gnutar
is preferred to tar
when configure sets TAR
.
This is needed on Mac OS 10.6, where the default tar
, bsdtar
2.6.2, has been reported to produce archives with illegal extensions
to tar (according to the POSIX standard).The C function mkCharLenCE
now no longer reads past len
bytes
(unlikely to be a problem except in user code). (PR#14246)
On systems without any default
LD_LIBRARY_PATH
(not even /usr/local/lib
),
[DY]LIB_LIBRARY_PATH
is now set without a trailing colon.
(PR#13637)
More efficient utf8ToInt()
on long multi-byte strings with many
multi-byte characters. (PR#14262)
aggregate.ts()
gave platform-depedent results due to rounding
error for ndeltat != 1
.
package.skeleton()
sometimes failed to fix filenames for .R or .Rd
files to start with an alphanumeric. (PR#14253) It also failed when
only an S4 class without any methods was defined. (PR#14280)
splinefun(*, method = "monoH.FC")
was not quite monotone in rare
cases. (PR#14215)
Rhttpd
no longer crashes due to SIGPIPE when the client closes the
connection prematurely. (PR#14266)
format.POSIXlt()
could cause a stack overflow and crash when used
on very long vectors. (PR#14267)
Rd2latex()
incorrectly escaped special characters in \usage
sections.
mcnemar.test()
could alter the levels (dropping unused levels) if
passed x
and y
as factors (reported by Greg Snow).
Rd2pdf
sometimes needed a further pdflatex
pass to get
hyperlinked pages correct.
interaction()
produced malformed results when levels were
duplicated, causing segfaults in split()
.
cut(d, breaks = <n>)
now also works for "Date"
or "POSIXt"
argument d
. (PR#14288)
memDecompress()
could decompress incompletely rare xz
-compressed
input due to incorrect documentation of xz
utils. (Report and
patch from Olaf Mersmann.)
The S4 initialize()
methods for "matrix"
, "array"
, and "ts"
have been fixed to call validObject()
. (PR#14284)
R CMD INSTALL
now behaves the same way with or without
–no-multiarch
on platforms with only one installed architecture.
(It used to clean the src
directory without –no-multiarch
.)
[<-.data.frame
was not quite careful enough in assigning (and
potentially deleting) columns right-to-left. (PR#14263)
rbeta(n, a,b)
no longer occasionally returns NaN
for
a >> 1 > b
. (PR#14291)
pnorm(x, log.p = TRUE)
could return NaN
not -Inf
for x near
(minus for lower.tail=TRUE
) the largest representable number.
Compressed data files
*.(txt|tab|csv).(gz|bz2|xz)
were not recognized for the list of data topics and hence for
packages using LazyData. (PR#14273)
textConnection()
did an unnecessary translation on strings in a
foreign encoding (e.g. UTF-8 strings on Windows) and so was slower
than it could have been on very long input strings. (PR#14286)
tools::Rd2txt()
did not render poorly written Rd files
consistently with other renderers.
na.action()
did not extract the na.action
component as
documented.
Packages must have been installed under R\({}\ge{}\)2.10.0, as the current help system is the only one now supported.
A port to 64-bit Windows is now available as well as binary package repositiories: see the ‘R Administration and Installation Manual’.
Argument matching for primitive functions is now done in the same way as for interpreted functions except for the deliberate exceptions
switch .C .Fortran .Call .External call
all of which use positional matching for their first argument, and also some internal-use-only primitives.
The default device for command-line R at the console on Mac OS X is
now quartz()
and not X11()
.
The open
modes for connections are now interpreted more
consistently. open = "r"
is now equivalent to open = "rt"
for
all connections. The default open = "" now means "rt"
for all
connections except the compressed file connections gzfile()
,
bzfile()
and xzfile()
for which it means "rb"
.
R CMD INSTALL
now uses the internal untar()
in package utils:
this ensures that all platforms can install bzip2
- and
xz
-compressed tarballs. In case this causes problems (as it has on
some Windows file systems when run from Cygwin tools) it can be
overridden by the environment variable R_INSTALL_TAR
: setting this
to a modern external tar program will speed up unpacking of large
(tens of Mb or more) tarballs.
help(try.all.packages = TRUE)
is much faster (although the time
taken by the OS to find all the packages the first time it is used
can dominate the time).
R CMD check
has a new option –timings
to record per-example
timings in file <pkg>.Rcheck/<pkg>-Ex.timings
.
The TRE library has been updated to version 0.8.0 (minor bugfixes).
grep[l]()
, [g]sub()
and [g]regexpr()
now work in bytes in an
8-bit locales if there is no marked UTF-8 input string: this will be
somewhat faster, and for [g]sub()
give the result in the native
encoding rather than in UTF-8 (which returns to the behaviour prior
to R 2.10.0).
A new argument skipCalls
has been added to browser()
so that it
can report the original context when called by other debugging
functions.
More validity checking of UTF-8 and MBCS strings is done by
agrep()
and the regular-expression matching functions.
The undocumented restriction on gregexpr()
to length(text) > 0
has been removed.
Package tcltk
now sends strings to Tcl in UTF-8: this means that
strings with a marked UTF-8 encoding are supported in non-UTF-8
locales.
The graphics engine now supports rendering of raster (bitmap)
images, though not all graphics devices can provide (full) support.
Packages providing graphics devices (e.g., Cairo
, RSvgDevice
,
cairoDevice
) will need to be reinstalled.
There is also support in the graphics engine for capturing raster images from graphics devices (again not supported on all graphics devices).
R CMD check
now also checks if the package and namespace can be
unloaded: this provides a check of the .Last.lib()
and
.onUnload()
hook functions (unless –install=fake
).
prop.table(x)
now accepts a one-dimensional table for x
.
A new function vapply()
has been added, based on a suggestion from
Bill Dunlap. It requires that a template for the function value be
specified, and uses it to determine the output type and to check for
consistency in the function values.
The main HTML help page now links to a reformatted copy of this
NEWS
file. (Suggested by Henrik Bengtsson.) Package index files
link to the package DESCRIPTION
and NEWS
files and a list of
demos when using dynamic help.
The [
method for class "AsIs"
allows the next method to change
the underlying class. (Wish of Jens Oehlschlägel.)
write.csv[2]()
no longer allow append
to be changed: as ever,
direct calls to write.table()
give more flexibility as well as
more room for error.
The index page for HTML help for a package now collapses multiple signatures for S4 methods into a single entry.
The use of .required
by require()
and detach()
has been
replaced by .Depends
which is set from the Depends
field of a
package (even in packages with name spaces). By default detach()
prevents such dependencies from being detached: this can be
overridden by the argument force
.
bquote()
has been extended to work on function definitions (wish
of PR#14031).
detach()
when applied to an object other than a package returns
the environment that has been detached, to parallel attach()
.
readline()
in non-interactive use returns ""
and does not
attempt to read from the “terminal”.
New function file_ext()
in package tools
.
xtfrm()
is now primitive and internally generic, as this allows S4
methods to be set on it without name-space scoping issues.
There are now "AsIs"
and "difftime"
methods, and the default
method uses unclass(x)
if is.numeric(x)
is true (which will be
faster but relies on is.numeric()
having been set correctly for
the class).
is.numeric(x)
is now false for a "difftime"
object
(multiplication and division make no sense for such objects).
The default method of weighted.mean(x, w)
coerces w
to be
numeric (aka double); previously only integer weights were coerced.
Zero weights are handled specially so an infinite value with zero
weight does not force an NaN
result.
There is now a "difftime"
method.
bug.report()
now has package
and lib.loc
arguments to generate
bug reports about packages. When this is used, it looks for a
BugReports
field in the package DESCRIPTION
file, which will be
assumed to be a URL at which to submit the report, and otherwise
generates an email to the package maintainer. (Suggested by Barry
Rowlingson.)
quantile()
now has a method for the date-time class "POSIXt"
,
and types 1 and 3 (which never interpolate) work for Dates and
ordered factors.
length(<POSIXlt>)
now returns the length of the corresponding
abstract timedate-vector rather than always 9 (the length of the
underlying list structure). (Wish of PR#14073 and PR#10507.)
The readline completion backend no longer sorts possible completions alphabetically (e.g., function argument names) if R was built with readline \(\ge\) 6.
select.list()
gains a graphics
argument to allow Windows/Mac
users to choose the text interface. This changes the behaviour of
new.packages(ask=TRUE)
to be like update.packages(ask=TRUE)
on
those platforms in using a text menu: use ask="graphics"
for a
graphical menu.
New function chooseBioCmirror()
to set the "BioC_mirror"
option.
The R grammar prevents using the argument name
in signatures of S4
methods for $
and $<-
, since they will always be called with a
character string value for name
. The implicit S4 generic functions
have been changed to reflect this: packages which included name
in
the signature of their methods need to be updated and re-installed.
The handling of the method
argument of glm()
has been refined
following suggestions by Ioannis Kosmidis and Heather Turner.
str()
gains a new argument list.len
with default 99, limiting
the number of list()
items (per level), thanks to suggestions from
David Winsenius.
Having formal arguments of an S4 method in a different order from the generic is now an error (the warning having been ignored by some package maintainers for a long time).
New functions enc2native()
and enc2utf8()
convert character
vectors with possibly marked encodings to the current locale and
UTF-8 respectively.
Unrecognized escapes and embedded nuls in character strings are now
an error, not just a warning. Thus option "warnEscapes"
is no
longer needed. rawToChar()
now removes trailing nuls silently, but
other embedded nuls become errors.
Informational messages about masked objects displayed when a package
is attached are now more compact, using strwrap()
instead of one
object per line.
print.rle()
gains argument prefix
.
download.file()
gains a "curl"
method, mainly for use on
platforms which have curl
but not wget
, but also for some
hard-to-access URLs.
In Rd, \eqn
and \deqn
will render in HTML (and convert to text)
upper- and lower-case Greek letters (entered as \alpha
…),
\ldots
, \dots
, \ge
and \le
.
utf8ToInt()
and intToUtf8()
now map NA
inputs to NA
outputs.
file()
has a new argument raw
which may help if it is used with
something other than a regular file, e.g. a character device.
New function strtoi()
, a wrapper for the C function strtol
.
as.octmode()
and as.hexmode()
now allow inputs of length other
than one.
The format()
and print()
methods for "octmode"
now preserve
names and dimensions (as those for "hexmode"
did).
The format()
methods for classes "octmode"
and "hexmode"
gain
a width
argument.
seq.int()
returns an integer result in some further cases where
seq()
does, e.g. seq.int(1L, 9L, by = 2L)
.
Added \subsection{}{}
macro to Rd syntax, for subsections within
sections.
n-dimensional arrays with dimension names can now be indexed by an
n-column character matrix. The indices are matched against the
dimension names. NA
indices are propagated to the result.
Unmatched values and ""
are not allowed and result in an error.
interaction(drop=TRUE)
uses less memory (related to PR#14121).
summary()
methods have been added to the "srcref"
and
"srcfile"
classes, and various encoding issues have been cleaned
up.
If option "checkPackageLicense"
is set to TRUE
(not currently
the default), users will be asked to agree to non-known-to-be-FOSS
package licences at first use.
Checking setAs(a,b)
methods only gives a message instead of a
warning, when one of a
or b
is unknown.
New function norm()
to compute a matrix norm. norm()
and also
backsolve()
and sample()
have implicit S4 generics.
Renviron.site
and Rprofile.site
can have architecture-specific
versions on systems with sub-architectures.
R CMD check
now (by default) also checks Rd files for
auto-generated content in need of editing, and missing argument
descriptions.
aggregate()
gains a formula method thanks to a contribution by
Arni Magnusson. The data frame method now allows summary functions
to return arbitrarily many values.
path.expand()
now propagates NA
values rather than converting
them to "NA"
.
file.show()
now disallows NA
values for file names, headers, and
pager.
The ‘fuzz’ used by seq()
and seq.int()
has been reduced from
1e-7 to 1e-10, which should be ample for the double-precision
calculations used in R. It ensures that the fuzz never comes into
play with sequences of integers (wish of PR#14169).
The default value of RSiteSearch(restrict=)
has been changed to
include vignettes but to exclude R-help. The R-help archives
available have been split, with a new option of "Rhelp10"
for
those from 2010.
New function rasterImage()
in the graphics
package for drawing
raster images.
stats:::extractAIC.coxph()
now omits aliased terms when computing
the degrees of freedom (suggestion of Terry Therneau).
cor()
and cov()
now test for misuse with non-numeric arguments,
such as the non-bug report PR#14207.
pchisq(ncp =, log.p = TRUE)
is more accurate for probabilities
near one. E.g. pchisq(80, 4, ncp=1, log.p=TRUE)
. (Maybe what was
meant in PR#14216.)
maintainer()
has been added, to give convenient access to the name
of the maintainer of a package (contributed by David Scott).
sample()
and sample.int()
allow zero items to be sampled from a
zero-length input. sample.int()
gains a default value size=n
to
be more similar to sample()
.
switch()
returned NULL
on error (not previously documented on
the help page): it now does so invisibly, analogously to
if-without-else.
It is now primitive: this means that EXPR is always matched to the first argument and there is no danger of partial matching to later named arguments.
Primitive functions UseMethod()
, attr()
, attr<-()
,
on.exit()
, retracemem()
and substitute()
now use standard
argument matching (rather than positional matching). This means that
all multi-argument primitives which are not internal now use
standard argument matching except where positional matching is
desirable (as for switch()
, call()
, .C()
, …).
All the one-argument primitives now check that any name supplied for their first argument is a partial match to the argument name as documented on the help page: this also applies to replacement functions of two arguments.
base::which()
uses a new .Internal function when arr.ind is
FALSE
resulting in a 10x speedup. Thanks to Patrick Aboyoun for
implementation suggestions.
Help conversion to text now uses the first part of \enc{}{}
markup
if it is representable in the current output encoding. On the other
hand, conversion to LaTeX with the default
outputEncoding = "ASCII"
uses the second part.
A new class "listOfMethods"
has been introduced to represent the
methods in a methods table, to replace the deprecated class
"MethodsList"
.
any()
and all()
return early if possible. This may speed up
operations on long vectors.
strptime()
now accepts "%z"
(for the offset from UTC in the
RFC822 format of +/-hhmm).
The PCRE library has been updated to version 8.02, a bug-fix release which also updates tables to Unicode 5.02.
Functions which may use a graphical select.list()
(including
menu()
and install.packages()
) now check on a Unix-alike that Tk
can be started (and not just capabilities("tcltk")
&&
capabilities("X11")
).
The parser no longer marks strings containing octal or hex escapes as being in UTF-8 when entered in a UTF-8 locale.
On platforms with cairo but not Pango (notably Mac OS X) the initial
default X11()
type is set to "Xlib"
: this avoids several
problems with font selection when done by cairo rather than Pango
(at least on Mac OS X).
New arrayInd()
such that which(x, arr.ind = TRUE)
for an array
x
is now equivalent to arrayInd(which(x)
, dim(x)
,
dimnames(x)
).
Bundles of packages are defunct.
stats::clearNames()
is defunct: use unname()
.
Basic regular expressions are defunct, and strsplit()
, grep()
,
grepl()
, sub()
, gsub()
, regexpr()
and gregexpr()
no longer
have an extended
argument.
methods::trySilent()
is defunct.
index.search()
(which was deprecated in 2.10.0) is no longer
exported and has a different argument list.
Use of multiple arguments to return()
is now defunct.
The use of UseMethod()
with more than two arguments is now
defunct.
In the methods
package, the MethodsList metadata objects which had
been superseded by hash tables (environments) since R 2.8.0 are
being phased out. Objects of this class are no longer assigned or
used as metadata by the package.
getMethods()
is now deprecated, with its internal use replaced by
findMethods()
and other changes. Creating objects from the
MethodsList class is also deprecated.
Parsing strings containing both octal/hex and Unicode escapes now gives a warning and will become an error in R 2.12.0.
UTF-8 is now used for the reference manual and package manuals. This
requires LaTeX 2005/12/01
or later.
configure looks for a POSIX compliant tr
, Solaris’s /usr/ucb/tr
having been found to cause Rdiff
to malfunction.
configure is now generated with autoconf-2.65, which works better on recent systems and on Mac OS X.
Characters in R source which are not translatable to the current locale are now handled more tolerantly: these will be converted to hex codes with a warning. Such characters are only really portable if they appear in comments.
R CMD INSTALL
now tests that the installed package can be loaded
(and backs out the installation if it cannot): this can be
suppressed by –no-test-load
. This avoids installing/updating a
package that cannot be used: common causes of failures to load are
missing/incompatible external software and missing/broken dependent
packages.
Package installation on Windows for a package with a src directory
now checks if a DLL is created unless there is a src/Makefile.win
file: this helps catch broken installations where the toolchain has
not reported problems in building the DLL. (Note: this can be any
DLL, not just one named <pkg-name>.dll
.)
Using with()
, eval()
etc with a list with some unnamed elements
now works. (PR#14035)
The “quick” dispatch of S4 methods for primitive functions was not happening, forcing a search each time. (Dispatch for closures was not affected.) A side effect is that default values for arguments in a method that do not have defaults in the generic will now be ignored.
Trying to dispatch S4 methods for primitives during the search for
inherited methods slows that search down and potentially could cause
an infinite recursion. An internal switch was added to turn off all
such methods from findInheritedMethods()
.
R framework installation (on Mac OS X) would not work properly if a rogue Resources directory was present at the top level. Such a non-symlink will now be renamed to Resources.old (and anything previously named Resources.old removed) as part of the framework installation process.
The checks for conforming S4 method arguments could fail when the
signature of the generic function omitted some of the formal
arguments (in addition to ...
). Arguments omitted from the method
definition but conforming (per the documentation) should now be
ignored (treated as "ANY"
) in dispatching.
The computations for S4 method evaluation when ...
was in the
signature could fail, treating ...
as an ordinary symbol. This has
been fixed, for the known cases.
Various ar()
fitting methods have more protection for singular
fits.
callNextMethod()
now works again with the drop=
argument in ‘
parse()
and parse_Rd()
miscounted columns when multibyte UTF-8
characters were present.
Formatting of help pages has had minor improvements: extra blank lines have been removed from the text format, and empty package labels removed from HTML.
cor(A, B)
where A has \(n \times 1\) and B a 1-dimensional array
segfaulted or gave an internal error. (The case cor(B, A)
was
PR#7116.)
cut.POSIXt()
applied to a start value after the DST transition on
a DST-change day could give the wrong time for breaks
in units of
days or longer. (PR#14208)
do_par()
UNPROTECTed too early (PR#14214)
subassignment x[[....]] <- y
didn’t check for a zero-length right
hand side, and inserted rubbish value. (PR#14217)
fisher.test()
no longer gives a P-value very slightly > 1, in
some borderline cases.
Internal function matchArgs()
no longer modifies the general
purpose bits of the SEXPs that make up the formals list of R
functions. This fixes an invalid error message that would occur when
a garbage collection triggered a second call to matchArgs
for the
same function via a finalizer.
gsub()
in 2.10.x could fail from stack overflow for extremely long
strings due to temporary data being allocated on the stack. Also,
gsub()
with fixed=TRUE
is in some circumstances considerably
faster.
Several primitives, including attributes()
, attr<-()
interactive()
, nargs()
and proc.time()
, did not check that
they were called with the correct number of arguments.
A potential race condition in list.files()
when other processes
are operating on the directory has been fixed; the code now
dynamically allocates memory for file listings in a single pass
instead of making an initial count pass.
mean(x, trim=, na.rm = FALSE)
failed to return NA
if x
contained missing values. (Reported by Bill Dunlap.)
Extreme tail behavior of, pbeta()
and hence pf()
, e.g.,
pbeta(x, 3, 2200, lower.tail=FALSE, log.p=TRUE)
now returns finite
values instead of jumping to -Inf
too early (PR#14230).
parse(text=x)
misbehaved for objects x
that were not coerced
internally to character, notably symbols. (Reported to R-devel by
Bill Dunlap.)
The internal C function coerceSymbol
now handles coercion to
character, and warns if coercion fails (rather than silently
returning NULL
). This allows a name to be given where a character
vector is required in functions which coerce internally.
The interpretation by strptime()
of that it is ever advisable to
use locale- and system-specific input formats).
capabilities("X11")
now works the same way on Mac OS X as on other
platforms (and as documented: it was always true for R built with
–with-aqua
, as the CRAN builds are).
The X11()
device with cairo but not Pango (notably Mac OS X) now
checks validity of text strings in UTF-8 locales (since Pango does
but cairo it seems does not).
read.fwf()
misread multi-line records when n was specified.
(PR#14241)
all.equal(*, tolerance = e)
passes the numeric tolerance also to
the comparison of the attributes.
pgamma(0,0)
, a boundary case, now returns 0, its limit from the
left, rather than the limit from the right.
Issuing POST requests to the internal web server could stall the request under certain circumstances.
gzcon( <textConnection> )
, an error, no longer damages the
connection (in a way to have it seg.fault). (PR#14237)
All the results from hist()
now use the nominal breaks
not those
adjusted by the numeric fuzz
: in recent versions the nominal
breaks
were reported but the density
referred to the intervals
used in the calculation — which mattered very slightly for one of
the extreme bins. (Based on a report by Martin Becker.)
If xy[z].coords()
(used internally by many graphics functions) are
given a list as x
, they now check that the list has suitable names
and give a more informative error message. (PR#13936)
The handling of line textures in the postscript()
and pdf()
devices was set up for round end caps (the only type which existed
at the time): it has now been adjusted for butt endcaps.
lchoose(a,k)
is now defined as
log(abs(choose(a,k)))
, analogously to lfactorial()
.
Although \eqn{}
in Rd files is defined as a verbatim
macro, many
packages expected \dots
and \ldots
to be interpreted there (as
was the case in R < 2.10.0), so this is now done (using an ellipsis
in HTML rendering).
Escaping of braces in quoted strings in R-code sections of Rd files is allowed again. This had been changed for the new Rd format in R 2.10.0 but was only documented on the developer site and was handled inconsistently by the converters: text and example conversion removed the escapes but HTML conversion did not.
The PCRE library has been updated to version 8.01, a bug-fix release.
tools::readNEWS()
now accepts a digit as the first character of a
news section.
Using read.table(header=TRUE)
on a header with an embedded new
line would copy part of the header into the data. (PR#14103)
qpois(p = 1, lambda = 0)
now gives 0 as for all other p
.
(PR#14135)
Functions related to string comparison (e.g. unique()
, match()
)
could cause crashes when used with strings not in the native
encoding, e.g. UTF-8 strings on Windows. (PR#14114 and PR#14125)
x[ , drop=TRUE]
dropped an NA
level even if it was in use.
The dynamic HTML help system reported the wrong MIME type for the style sheet.
tools::codoc()
(used by R CMD check
) was missing cases where the
function had no arguments but was documented to have some.
Help links containing special characters (e.g. "?"
) were not
generated correctly when rendered in HTML. (PR#14155)
lchoose(a,k)
no longer wrongly gives NaN
for negative a
.
ks.test()
could give a p-value that was off by one observation due
to rounding error. (PR#14145)
readBin()/readChar()
when reading millions of character strings in
a single call used excessive amounts of memory (which also slowed
them down).
R CMD SHLIB
could fail if used with paths that were not
alphanumeric, e.g. contained +
. (PR#14168)
sprintf()
was not re-entrant, which potentially caused problems if
an as.character()
method called it.
The quartz()
device did not restore the clipping region when
filling the background for a new page. This could be observed in
multi-page bitmap output as stale outer regions of the plot.
p.adjust(*, method, n)
now works correctly for the rare case
n > length(p)
, also when method differs from "bonferroni"
or
"none"
, thanks to a patch from Gordon Smyth.
tools::showNonASCII()
failed to detect non-ASCII characters if
iconv()
(incorrectly) converted them to different ASCII
characters. (Seen on Windows only.)
tcrossprod()
wrongly failed in some cases when one of the
arguments was a vector and the other a matrix.
[cr]bind(..., deparse.level=2)
was not always giving names when
documented to do so. (Discovered whilst investigating PR#14189.)
match(incomparables=<non-NULL>)
could in rare cases infinite-
loop.
poisson.test()
needed to pass conf.level
to binom.test()
(PR#14195)
The "nls"
method for df.residual()
gave incorrect results for
models fitted with na.action = na.exclude
. (PR#14194)
A change to options(scipen=)
was only implemented when printing
next occurred, even though it should have affected intervening calls
to axis()
, contour()
and filledcontour()
.
prettyNum(drop0trailing=TRUE)
did not handle signs of imaginary
parts of complex numbers correctly (and this was used by str()
:
PR#14201).
system.time()
had sys.child component wrong (copied user.child
instead) on systems with HAVE_GETRUSAGE
(PR#14210)
Changing both line texture and line cap (end) resulted in the latter to be ommitted form the PDF code. In addition, line cap (end) and join are now set explicitly in PDF output to ensure correct defaults.
The suppression of auto-rotation in bitmap()
and dev2bitmap()
with the pdfwrite
device was not working correctly.
plot(ecdf()
, log="x"
) no longer gives an incorrect warning.
read.fwf()
works again when file
is a connection.
Startup files will now be found if their paths exceed 255 bytes. (PR#14228)
contrasts<-
(in the stats
package) no longer has an undeclared
dependence on methods
(introduced in 2.10.0).
(Most of the changes to what was then “2.10.0 Patched” were described in Vol 1/2.)
switch(EXPR = "A")
now returns NULL
, as switch(1)
which used
to signal an error.
This article is converted from a Legacy LaTeX article using the texor package. The pdf version is the official version. To report a problem with the html, refer to CONTRIBUTE on the R Journal homepage.
Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".
For attribution, please cite this work as
Team, "Changes in R 2.10.1--2.11.1", The R Journal, 2010
BibTeX citation
@article{RJ-2010-1-r-changes, author = {Team, The R Core}, title = {Changes in R 2.10.1--2.11.1}, journal = {The R Journal}, year = {2010}, note = {https://rjournal.github.io/}, volume = {2}, issue = {1}, issn = {2073-4859}, pages = {64-71} }