[R] R2.11.0 - rasterImage() and barplot fill-patterns

baptiste auguie baptiste.auguie at googlemail.com
Thu Apr 22 16:10:26 CEST 2010


Hi,

This idea was also discussed when Paul Murrell first announced the
grid.raster function to R-devel,
http://tolstoy.newcastle.edu.au/R/e8/devel/09/12/0912.html

My personal conclusion was that vector fill patterns are generally
better in terms of resolution and speed. Of course the situation might
be different if one wanted to use a fancy image pattern, or if there
was a fast implementation of tiling patterns at the C level.

I wrote a proof-of-concept here --- my main issue is that the
resulting grob is not vectorized,

http://gridextra.googlecode.com/svn/trunk/inst/comparisonPattern.r

Best,

baptiste


On 22 April 2010 14:10, Tal Galili <tal.galili at gmail.com> wrote:
> Hello Peter,
> Thank you, and the R core team, for the new release.
>
>
> I see that in R 2.11.0 there is now support for rendering of raster (bitmap)
> images through rasterImage().
>
> I am wondering - can this be used to create a texture/fill-pattern for
> hist()/barplot()  ?
> (A request made several times throughout the years on the mailing list.
> For example:
> http://osdir.com/ml/lang.r.general/2005-07/msg00799.html
> )
>
> (I am also sending this e-mail to the maintainers of lattice, ggplot2 and
> gplots in the hope for more perspectives)
>
> With much respect,
> Tal
>
>
>
>
>
>
>
>
> ----------------Contact
> Details:-------------------------------------------------------
> Contact me: Tal.Galili at gmail.com |  972-52-7275845
> Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) |
> www.r-statistics.com (English)
> ----------------------------------------------------------------------------------------------
>
>
>
>
> On Thu, Apr 22, 2010 at 12:01 PM, Peter Dalgaard <pd.mes at cbs.dk> wrote:
>
>> I've rolled up R-2.11.0.tar.gz a short while ago. This is a development
>> release which contains a number of new features.
>>
>> Also, a number of mostly minor bugs have been fixed. See the full list
>> of changes below.
>>
>> NOTE: The build platform has been changed for this release. Please watch
>> out extra carefully for anomalies.
>>
>> You can get it from
>>
>> http://cran.r-project.org/src/base/R-2/R-2.11.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.
>>
>>       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:
>>
>> MD5 (AUTHORS) = ac9746b4845ae866661f51cfc99262f5
>> MD5 (COPYING) = eb723b61539feef013de476e68b5c50a
>> MD5 (COPYING.LIB) = a6f89e2100d9b6cdffcea4f398e37343
>> MD5 (FAQ) = 5b653442bedab476a4eff7468192fb5f
>> MD5 (INSTALL) = 70447ae7f2c35233d3065b004aa4f331
>> MD5 (NEWS) = 59017734fb8474f98f994c7a5a27f9fb
>> MD5 (ONEWS) = a8c985af5ad5e9c7e0a9f502d07baeb4
>> MD5 (OONEWS) = 4f004de59e24a52d0f500063b4603bcb
>> MD5 (R-latest.tar.gz) = c6c1e866299f533617750889c729bfb3
>> MD5 (README) = 433182754c05c2cf7a04ad0da474a1d0
>> MD5 (RESOURCES) = 020479f381d5f9038dcb18708997f5da
>> MD5 (THANKS) = f2ccf22f3e20ebaa86f8ee5cc6b0f655
>> MD5 (R-2/R-2.11.0.tar.gz) = c6c1e866299f533617750889c729bfb3
>>
>> This is the relevant part of the NEWS file:
>>
>>                CHANGES IN R VERSION 2.11.0
>>
>>
>> SIGNIFICANT USER-VISIBLE CHANGES
>>
>>    o   Packages must have been installed under R >= 2.10.0, as the
>>        current help system is the only one now supported.
>>
>>    o   A port to 64-bit Windows is now available as well as binary
>>        package repositiories: see the 'R Administration and
>>        Installation Manual'.
>>
>>    o   Argument matching for primitive functions is now done in the
>>        same way as for interpreted functions except for the deliberate
>>        exceptions
>>
>>            call switch .C .Fortran .Call .External
>>
>>        all of which use positional matching for their first argument,
>>        and also some internal-use-only primitives.
>>
>>    o   The default device for command-line R at the console on Mac OS X
>>        is now quartz() and not X11().
>>
>>
>> NEW FEATURES
>>
>>    o   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".
>>
>>    o   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.
>>
>>    o   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).
>>
>>    o   R CMD check has a new option '--timings' to record
>>        per-example timings in file <pkg>.Rcheck/<pkg>-Ex.timings.
>>
>>    o   The TRE library has been updated to version 0.8.0 (minor bugfixes).
>>
>>    o   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).
>>
>>    o   A new argument 'skipCalls' has been added to browser() so that
>>        it can report the original context when called by other
>>        debugging functions.
>>
>>    o   More validity checking of UTF-8 and MBCS strings is done by
>>        agrep() and the regular-expression matching functions.
>>
>>    o   The undocumented restriction on gregexpr() to length(text) > 0
>>        has been removed.
>>
>>    o   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.
>>
>>    o   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).
>>
>>    o   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).
>>
>>    o   prop.table(x) now accepts a one-dimensional table for x.
>>
>>    o   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.
>>
>>    o   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.
>>
>>    o   The [ method for class "AsIs" allows the next method to change
>>        the underlying class.  (Wish of Jens Oehlschlägel.)
>>
>>    o   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.
>>
>>    o   The index page for HTML help for a package now collapses
>>        multiple signatures for S4 methods into a single entry.
>>
>>    o   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'.
>>
>>    o   bquote() has been extended to work on function definitions
>>        (wish of PR#14031).
>>
>>    o   detach() when applied to an object other than a package
>>        returns the environment that has been detached, to parallel
>>        attach().
>>
>>    o   readline() in non-interactive use returns "" and does not
>>        attempt to read from the 'terminal'.
>>
>>    o   New function file_ext() in package 'tools'.
>>
>>    o   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).
>>
>>    o   is.numeric(x) is now false for a "difftime" object
>>        (multiplication and division make no sense for such objects).
>>
>>    o   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.
>>
>>    o   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.)
>>
>>    o   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.
>>
>>    o   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.)
>>
>>    o   The readline completion backend no longer sorts possible
>>        completions alphabetically (e.g., function argument names) if
>>        R was built with readline >= 6.
>>
>>    o   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.
>>
>>    o   New function chooseBioCmirror() to set the "BioC_mirror" option.
>>
>>    o   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.
>>
>>    o   The handling of the 'method' argument of glm() has been
>>        refined following suggestions by Ioannis Kosmidis and Heather
>>        Turner.
>>
>>    o   str() gains a new argument 'list.len' with default 99, limiting the
>>        number of list() items (per level), thanks to suggestions from
>>        David Winsenius.
>>
>>    o   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).
>>
>>    o   New functions enc2native() and enc2utf8() convert character
>>        vectors with possibly marked encodings to the current locale and
>>        UTF-8 respectively.
>>
>>    o   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.
>>
>>    o   Informational messages about masked objects displayed when a
>>        package is attached are now more compact, using strwrap()
>>        instead of one object per line.
>>
>>    o   print.rle() gains argument 'prefix'.
>>
>>    o   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.
>>
>>    o   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.
>>
>>    o   utf8ToInt() and intToUtf8() now map NA inputs to NA outputs.
>>
>>    o   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.
>>
>>    o   New function strtoi(), a wrapper for the C function strtol.
>>
>>    o   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.
>>
>>    o   seq.int() returns an integer result in some further cases
>>        where seq() does, e.g. seq.int(1L, 9L, by = 2L).
>>
>>    o   Added \subsection{}{} macro to Rd syntax, for subsections
>>        within sections.
>>
>>    o   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.
>>
>>    o   interaction(drop=TRUE) uses less memory (related to PR#14121).
>>
>>    o   summary() methods have been added to the "srcref" and
>>        "srcfile" classes, and various encoding issues have been
>>        cleaned up.
>>
>>    o   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.
>>
>>    o   Checking setAs(a,b) methods only gives a message instead of a
>>        warning, when one of a or b is unknown.
>>
>>    o   New function norm() to compute a matrix norm.
>>        norm() and also backsolve() and sample() have implicit S4 generics.
>>
>>    o   Renviron.site and Rprofile.site can have architecture-specific
>>        versions on systems with sub-architectures.
>>
>>    o   R CMD check now (by default) also checks Rd files for
>>        auto-generated content in need of editing, and missing argument
>>        descriptions.
>>
>>    o   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.
>>
>>    o   path.expand() now propagates NA values rather than converting them
>>        to "NA".
>>
>>    o   file.show() now disallows NA values for file names, headers, and
>>        pager.
>>
>>    o   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).
>>
>>    o   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.
>>
>>    o   New function rasterImage() in the 'graphics' package for drawing
>>        raster images.
>>
>>    o   stats:::extractAIC.coxph() now omits aliased terms when computing
>>        the degrees of freedom (suggestion of Terry Therneau).
>>
>>    o   cor() and cov() now test for misuse with non-numeric
>>        arguments, such as the non-bug report PR#14207.
>>
>>    o   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#14126.)
>>
>>    o   maintainer() has been added, to give convenient access to the
>>        name of the maintainer of a package (contributed by David
>>        Scott).
>>
>>    o   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().
>>
>>    o   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.
>>
>>    o   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() ...).
>>
>>    o   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.
>>
>>    o   base::which() uses a new .Internal function when arr.ind is
>>        FALSE resulting in a 10x speedup.  Thanks to Patrick Aboyoun
>>        for implementation suggestions.
>>
>>    o   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.
>>
>>    o   A new class "listOfMethods" has been introduced to represent
>>        the methods in a methods table, to replace the deprecated
>>        class "MethodsList".
>>
>>    o   any() and all() return early if possible.  This may speed up
>>        operations on long vectors.
>>
>>    o   strptime() now accepts "%z" (for the offset from UTC in the
>>        RFC822 format of +/-hhmm).
>>
>>    o   The PCRE library has been updated to version 8.02, a bug-fix
>>        release which also updates tables to Unicode 5.02.
>>
>>    o   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")).
>>
>>    o   The parser no longer marks strings containing octal or hex
>>        escapes as being in UTF-8 when entered in a UTF-8 locale.
>>
>>    o   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).
>>
>>    o   New arrayInd() such that which(x, arr.ind = TRUE) for an array
>>        'x' is now equivalent to arrayInd(which(x), dim(x), dimnames(x)).
>>
>>
>> DEPRECATED & DEFUNCT
>>
>>    o   Bundles of packages are defunct.
>>
>>    o   stats::clearNames() is defunct: use unname().
>>
>>    o   Basic regular expressions are defunct, and strsplit(), grep(),
>>        grepl(), sub(), gsub(), regexpr() and gregexpr() no longer
>>        have an 'extended' argument.
>>
>>    o   methods::trySilent() is defunct.
>>
>>    o   index.search() (which was deprecated in 2.10.0) is no longer
>>        exported and has a different argument list.
>>
>>    o   Use of multiple arguments to return() is now defunct.
>>
>>    o   The use of UseMethod() with more than two arguments is now defunct.
>>
>>    o   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.
>>
>>    o   Parsing strings containing both octal/hex and Unicode escapes
>>        now gives a warning and will become an error in R 2.12.0.
>>
>>
>> INSTALLATION
>>
>>    o   UTF-8 is now used for the reference manual and package
>>        manuals.  This requires LaTeX '2005/12/01' or later.
>>
>>    o   configure looks for a POSIX compliant tr, Solaris's
>>        /usr/ucb/tr having been found to cause Rdiff to malfunction.
>>
>>    o   configure is now generated with autoconf-2.65, which works
>>        better on recent systems and on Mac OS X.
>>
>>
>> PACKAGE INSTALLATION
>>
>>    o   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.
>>
>>    o   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.
>>
>>    o   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.)
>>
>>
>> BUG FIXES
>>
>>    o   Using with(), eval() etc with a list with some unnamed
>>        elements now works. (PR#14035)
>>
>>    o   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.
>>
>>    o   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().
>>
>>    o   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.
>>
>>    o   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.
>>
>>    o   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.
>>
>>    o   Various ar() fitting methods have more protection for singular
>>        fits.
>>
>>    o   callNextMethod now works again with the drop= argument in `[`
>>
>>    o   parse() and parse_Rd() miscounted columns when multibyte UTF-8
>>        characters were present.
>>
>>    o   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.
>>
>>    o   cor(A, B) where A has n x 1 and B a 1-dimensional array
>>        segfaulted or gave an internal error.
>>        (The case cor(B, A) was PR#7116.)
>>
>>    o   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)
>>
>>    o   do_par() UNPROTECTed too early (PR#14214)
>>
>>    o   subassignment x[[....]] <- y didn't check for a zero-length
>>        right hand side, and inserted rubbish value. (PR#14217)
>>
>>    o   fisher.test() no longer gives a P-value *very* slightly > 1,
>>        in some borderline cases.
>>
>>    o   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.
>>
>>    o   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.
>>
>>    o   Several primitives, including attributes(), attr<-()
>>        interactive(), nargs() and proc.time(), did not check that
>>        they were called with the correct number of arguments.
>>
>>    o   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.
>>
>>    o   mean(x, trim=, na.rm = FALSE) failed to return NA if 'x'
>>        contained missing values.  (Reported by Bill Dunlap.)
>>
>>    o   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).
>>
>>    o   parse(text=x) misbehaved for objects 'x' that were not coerced
>>        internally to character, notably symbols.  (Reported to
>>        R-devel by Bill Dunlap.)
>>
>>    o   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.
>>
>>    o   The interpretation by strptime() of %c was non-standard (not
>>        that it is ever advisable to use locale- and system-specific
>>        input formats).
>>
>>    o   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).
>>
>>    o   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).
>>
>>    o   read.fwf() misread multi-line records when n was specified.
>>        (PR#14241)
>>
>>    o   all.equal(*, tolerance = e) passes the numeric tolerance also to
>>        the comparison of the attributes.
>>
>>    o   pgamma(0,0), a boundary case, now returns 0, its limit from the
>>        left, rather than the limit from the right.
>>
>>    o   Issuing POST requests to the internal web server could stall
>>        the request under certain circumstances.
>>
>>    o   gzcon( <textConnection> ), an error, no longer damages the
>>        connection (in a way to have it seg.fault). (PR#14237)
>>
>>    o   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.)
>>
>>    o   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)
>>
>>
>>
>>
>> --
>> Peter Dalgaard
>> Center for Statistics, Copenhagen Business School
>> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
>> Phone: (+45)38153501
>> Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com
>>
>> _______________________________________________
>> R-announce at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-announce
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
>        [[alternative HTML version deleted]]
>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>



More information about the R-help mailing list