From hb@maths.lth.se  Mon Jul  8 23:49:34 2002
From: hb@maths.lth.se (hb@maths.lth.se)
Date: Tue, 9 Jul 2002 00:49:34 +0200 (MET DST)
Subject: as.character.octmode() and format.octmode() (PR#1759)
Message-ID: <200207082249.AAA04422@pubhealth.ku.dk>

Full_Name: Henrik Bengtsson
Version: 1.5.1
OS: WinMe
Submission from: (NULL) (217.210.0.243)


PROBLEM:

With

  x <- 0; class(x) <- "octmode"

Should 

  as.character(x)

and

  format(x)

give "" and not "0"?

SUGGESTION/SOLUTION:

Here is one fix that gives "0" instead:

as.character.octmode <- function(x, ...) {
  if (!inherits(x, "octmode"))
    stop("calling wrong method")
  isna <- is.na(x)
  y <- x[!isna]
  ans0 <- character(length(y))
  z <- NULL                          # FIX 01
  while (any(y > 0) | is.null(z)) {  # FIX 02
    z <- y%%8
    y <- floor(y/8)
    ans0 <- paste(z, ans0, sep="")
  }
  ans <- rep(as.character(NA), length(x))
  ans[!isna] <- ans0
  ans
}


Same for format.octmode().


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


as.character.octmode() and format.octmode() (PR#1759)
hb@maths.lth.se