From ripley at stats.ox.ac.uk  Mon May  1 18:49:22 2006
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Mon, 1 May 2006 17:49:22 +0100 (BST)
Subject: [Rd] format.info() versus format.default():  Comments please
In-Reply-To: <44563613.3070903@stats.uwo.ca>
References: <44563613.3070903@stats.uwo.ca>
Message-ID: <Pine.LNX.4.64.0605011735340.15100@gannet.stats.ox.ac.uk>

format.info() is used in no CRAN package (except in lists of known 
functions) and nowhere in R itself so I think you could do whatever you 
wanted by way of extending it.  However, I don't think it going to be 
easy, as apart from scientific those arguments are handled via 
postprocessing by prettyNum.

I would be tempted to replace format.info by a function that analysed the 
results.  The current description is wrong, of course:

> format.info(123456)
[1] 6 0 0
> format(123456, big.mark=",")
[1] "123,456"

There are also assumptions that digits and the decimal mark are of width 
one, but those are I think benign.

On Mon, 1 May 2006, Duncan Murdoch wrote:

> The format.info() function currently takes args (x, digits = NULL,
> nsmall = 0), while format.default() takes many more:
>
> function (x, trim = FALSE, digits = NULL, nsmall = 0, justify = c("left",
>      "right", "centre", "none"), width = NULL, na.encode = TRUE,
>      scientific = NA, big.mark = "", big.interval = 3, small.mark = "",
>      small.interval = 5, decimal.mark = ".", zero.print = NULL,
>      ...)
>
> I think it would make sense for format.info to take at least the width,
> scientific, big.*, small.*, and zero.print arguments, as these all
> affect the output that format.info is calculating, i.e. the width,
> decimal places, and scientific notation digits.  (It would probably be
> sensible for it to take all possible format() arguments, but ignore some.)
>
> For example, I was just writing some code to format durations as
> HH:MM:SS.SSS (where the number of decimal places on the seconds was
> chosen according to the values); here I wanted to tell format not
> to use scientific notation, but I needed to use options(scipen=) to do
> that because format.info doesn't take the scientific=FALSE argument.
>
> Comments?
>
> Duncan Murdoch
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

-- 
Brian D. Ripley,                  ripley at 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 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] format.info() versus format.default(): Comments please
Prof Brian Ripley