John.Peters@tip.csiro.au
2001-May-31 07:27 UTC
[Rd] format() of a character matrix converts to vector (PR#960)
Using R 1.2.3 under both windows 95 and linux, format() works fine on a numerical matrix, but converts a character matrix to a vector, apparently omitting to convert it back to a matrix:> a_matrix(c("axx","b","c","d","e","f","g","h"),nrow=2)> a[,1] [,2] [,3] [,4] [1,] "axx" "c" "e" "g" [2,] "b" "d" "f" "h"> format(a)[1] "axx" "b " "c " "d " "e " "f " "g " "h "> format(a,justify="right")[1] "axx" " b" " c" " d" " e" " f" " g" " h"> format(a,justify="left")[1] "axx" "b " "c " "d " "e " "f " "g " "h "> format(a,justify="none")[,1] [,2] [,3] [,4] [1,] "axx" "c" "e" "g" [2,] "b" "d" "f" "h" Many thanks ---------------------------------------------------------------------------- John Peters CSIRO National Measurement Laboratory PO Box 218 Phone: +61 2 9413 7503 Lindfield NSW 2070 Fax: +61 2 9413 7202 Australia Internet: John.Peters@tip.CSIRO.AU ---------------------------------------------------------------------------- -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
ripley@stats.ox.ac.uk
2001-May-31 08:48 UTC
[Rd] format() of a character matrix converts to vector (PR#960)
Thanks. There is an easy fix. In format.default f.char <- function(x, justify) { if(length(x) <= 1) return(x) nc <- nchar(x) w <- max(nc) all <- substring(paste(rep(" ", w), collapse=""), 1, w-nc) res <- if(justify == "left") paste(x, all, sep="") else paste(all, x, sep="") dim(res) <- dim(x) res } On Thu, 31 May 2001 John.Peters@tip.csiro.au wrote:> > Using R 1.2.3 under both windows 95 and linux, format() works fine on a > numerical matrix, but converts a character matrix to a vector, apparently > omitting to convert it back to a matrix: > > > a_matrix(c("axx","b","c","d","e","f","g","h"),nrow=2) > > > a > [,1] [,2] [,3] [,4] > [1,] "axx" "c" "e" "g" > [2,] "b" "d" "f" "h" > > > format(a) > [1] "axx" "b " "c " "d " "e " "f " "g " "h " > > > format(a,justify="right") > [1] "axx" " b" " c" " d" " e" " f" " g" " h" > > > format(a,justify="left") > [1] "axx" "b " "c " "d " "e " "f " "g " "h " > > > format(a,justify="none") > [,1] [,2] [,3] [,4] > [1,] "axx" "c" "e" "g" > [2,] "b" "d" "f" "h" > > > Many thanks > > ---------------------------------------------------------------------------- > John Peters > CSIRO National Measurement Laboratory > PO Box 218 Phone: +61 2 9413 7503 > Lindfield NSW 2070 Fax: +61 2 9413 7202 > Australia Internet: John.Peters@tip.CSIRO.AU > ---------------------------------------------------------------------------- > > -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- > r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html > Send "info", "help", or "[un]subscribe" > (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch > _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._ >-- Brian D. Ripley, ripley@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272860 (secr) Oxford OX1 3TG, UK Fax: +44 1865 272595 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._