[R] sprintf funny behavior

(Ted Harding) Ted.Harding at manchester.ac.uk
Tue May 11 19:06:27 CEST 2010


On 11-May-10 16:53:56, Matt Young wrote:
>> sprintf("%d",4)
> [1] "4"
>> for(i in 1:4) sprintf("%d",4)
>> for(i in 1:4) print(4)
> [1] 4
> [1] 4
> [1] 4
> [1] 4
> 
> Why doesn't sprintf like the for loop here

Because, as a general rule, output generated inside loops,
and within execution of functions, etc., does not appear
on screen. The general cure for this is to enclose the
output-generating command in print(...). Hence:

  for(i in 1:4) print(sprintf("%d",4))
  # [1] "4"
  # [1] "4"
  # [1] "4"
  # [1] "4"

Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 11-May-10                                       Time: 18:06:24
------------------------------ XFMail ------------------------------



More information about the R-help mailing list