> 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