> 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
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 hereBecause, 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 ------------------------------
Not always the result of a function is printed on screen.
Use:
for(i in 1:4) print(sprintf("%d",4))
ciao!
mario
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
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
--
Ing. Mario Valle
Data Analysis and Visualization Group | http://www.cscs.ch/~mvalle
Swiss National Supercomputing Centre (CSCS) | Tel: +41 (91) 610.82.60
v. Cantonale Galleria 2, 6928 Manno, Switzerland | Fax: +41 (91) 610.82.82