[R] version plot problem
PIKAL Petr
petr@p|k@| @end|ng |rom prechez@@cz
Wed Jul 1 11:47:18 CEST 2020
Hallo Martin
Yes I am aware of gradual improvement of R and also many new features of version 4.0.x. I have to be more aware of fact that some code could work in one version and give error in another, especially when using different major versions.
Probably best option is to persuade IT department to reinstall the newest R version on all affected PCs.
Thank you for explanation.
Best regards
Petr
> -----Original Message-----
> From: Martin Maechler <maechler using stat.math.ethz.ch>
> Sent: Tuesday, June 30, 2020 11:35 AM
> To: PIKAL Petr <petr.pikal using precheza.cz>
> Cc: Stephen Ellison <S.Ellison using LGCGroup.com>; Rasmus Liland
> <jral using posteo.no>; R-help <r-help using r-project.org>
> Subject: Re: [R] version plot problem
>
> >>>>> PIKAL Petr
> >>>>> on Thu, 25 Jun 2020 14:45:09 +0000 writes:
>
> > Thanks.
> > I try to spread R to some other people and I use 4.0.0 - version.string R
> > Under development (unstable) (2020-03-08 r77917) nickname
> Unsuffered
> > Consequences whereas they use R 3.6.3
> > version.string R version 3.6.3 (2020-02-29) nickname Holding the
> > Windsock
>
> > With artificial data frame both behave with the same error
> > dat <- data.frame(a=letters[1:5], b=1:5)
> > dat$a <- as.character(dat$a)
> > plot(dat)
> > Error in plot.window(...) : need finite 'xlim' values
> > In addition: Warning messages:
> > 1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
> > 2: In min(x) : no non-missing arguments to min; returning Inf
> > 3: In max(x) : no non-missing arguments to max; returning -Inf
>
> > So far so good.
>
> > But with original data with **character** columns
> > dput(head(mok))
> > mok <- structure(list(a = c("Kalcinát A", "Kalcinát A", "Kalcinát A",
> > "Kalcinát A", "Kalcinát A", "Kalcinát A"), b = c("TB", "TB",
> > "TB", "TB", "TB", "TB"), c = c("6101B", "6101B", "6101B", "6101B",
> > "6101B", "6101B"), d = structure(c(1590624000, 1590624000, 1590537600,
> > 1590537600, 1590537600, 1590537600), class = c("POSIXct", "POSIXt"
> > ), tzone = "UTC"), e = structure(c(1590649200, 1590634800, 1590620400,
> > 1590606000, 1590591600, 1590577200), class = c("POSIXct", "POSIXt"
> > ), tzone = "UTC"), f = structure(c(1590649200, 1590634800, 1590620400,
> > 1590606000, 1590591600, 1590577200), class = c("POSIXct", "POSIXt"
> > ), tzone = "UTC"), g = c("BAROTOVÁ", "KRÁTKÁ", "KRÁTKÁ", "HOLASOVÁ",
> > "HOLASOVÁ", "BAROTOVÁ"), h = c(239.4, 221, 190.3, 215.7, 241.4,
> > 214.8), i = c(48.7, 55.6, 52.9, 50.1, 46.6, 54.4), j = c(94.2,
> > 93, 92.4, 94.2, 96.3, 94.4), k = c(0.8, 1, 1, 0.8, 0.7, 0.8)), row.names =
> > c(NA,
> > 6L), class = "data.frame")
>
> > PLOT WORKS in R 400 but not in R 363??????
>
> > plot(mok)
>
> > Why it works in R400??? How should I explain it?
>
> (it's "R 4.0.0" , here spaces are relevant I think)
>
> Well, new versions of R are always better than previous ones (even though,
> yes, rarely sometimes bugs are introduced).
>
> and you have heard that R 4.0.0 came with *many* new features, right ?
>
> In this case the long NEW FEATURES section in the NEWS | NEWS.pdf |
> NEWS.html files contained the entry
>
> • data.matrix() now converts character columns to factors and from
> this to integers.
>
> and this contains the answer to your question, as
>
> plot(mok) |-> plot.data.frame(mok) |-> pairs(data.matrix(mok))
>
> and data.matrix(mok) in R 3.6.3 gives 4 warnings and ends in a character
> matrix.
>
> --
>
> And yes, the above new feature was related and made particularly sense with
> the important user-visible stringsAsFactors change in R 4.0.0; see also the
> corresponding R blog (by Kurt Hornik) :
>
> https://developer.r-project.org/Blog/public/2020/02/16/stringsasfactors/
>
>
> Martin Maechler
> R Core team and ETH Zurich
More information about the R-help
mailing list