>>>>> 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 ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.