[Rd] sprintf - was formatC with illegal input crashes Rgui (PR#7686)

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Feb 14 12:02:20 CET 2005

On Mon, 14 Feb 2005, Wolfgang Huber wrote:

> Dear Prof. Ripley,
> Would it be possible to make sprintf accept vector arguments?
> I.e. allow expressions like
>  sprintf("%04d", 1:3)
> to produce something like what currently needs to be done via
>  sapply(1:3, function(i) sprintf("%04d",i))

I have thought about this, but it is not really clear what the right thing 
would be here with multiple arguments.  What should

sprintf(("%04d %s", 1:3, "abc")

do?  Produce a character vector of length 1 or 3?  If of length 1,
"0001 0002 0003 abc" or "0001 2 0003 abc"?

I guess the most R-like thing would be to recycle args to the length of 
the longest and then use them in parallel, but that can be done fairly 
easily by *apply.

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

More information about the R-devel mailing list