Thank you very much both. You made it clear :) Regards Alex
--- On Wed, 2/16/11, ted.hard...@wlandres.net <ted.hard...@wlandres.net> wrote: > From: ted.hard...@wlandres.net <ted.hard...@wlandres.net> > Subject: Re: [R] sprintf does not print > To: "R help" <r-help@r-project.org> > Cc: "Alaios" <ala...@yahoo.com> > Date: Wednesday, February 16, 2011, 10:56 AM > To expand on Mario's response below: > > sprintf() is a function which returns a value which > is a [vector of] character string[s]. The "print" in its > name is there because its name is the same as the C > function > sprintf whose purpose is to create a character string > ("s") > formatted ("f") according to the format argument. > sprintf() > does not perform the operation of "printing" its value to > the screen -- never! > > However, on may get the impression that it does so if one > uses it "stand-alone" in a command line: > > sprintf("%.4f",pi) > # [1] "3.1416" > > but this is because *anything* which has a value, when > entered > stand-alone in a command line, will result in the value > being > "printed" to the screen. It is R which does this, not the > "anything". > > X <- sprintf("%.4f",pi) ## Note that this > does not print either > X > # [1] "3.1416" > > Inside a loop, or inside a function, you need to wrap the > "sprintf(...)" inside a cat() or print() statement; when > something which has a value is named in such a context, > the > "printing to screen" is suppressed. It is R which > suppresses it. > > for(i in (1:2)){ > X <- sprintf("%.4f",pi) > X > } > > produces nothing on screen. However, > > for(i in (1:2)){ > X <- sprintf("%.4f",pi) > print(X) > } > # [1] "3.1416" > # [1] "3.1416" > > See ?sprintf for more detail on its relation with the C > function > of the same name. > > Hoping this helps, > Ted. > > On 16-Feb-11 10:25:31, Mario Valle wrote: > > Use > > cat(sprintf('I did the the %d,%d \n',k,l)) > > The functions do not print in non interactive mode > > Hope it helps > > > > mario > > On 16-Feb-11 11:15, Alaios wrote: > >> Dear all I have an sprintf inside a loop to track > changes in > >> variable's value. > >> > >> This sprintf statement works if I copy and paste > it inside R > >> sprintf('I did the the %d,%d \n',k,l) > >> > >> but when this is inside a loop I get no message. > >> > >> listcounter<-1 > >> for (k in c(1:mmax)){ # > >> for (l in c(1:nmax)){ > >> > >> > lst[[listcounter]]<-fun(estimatedsr) > >> listcounter<-listcounter+1 > >> sprintf('I did the the %d,%d > \n',k,l) > >> } > >> } > >> > >> > >> When I paste the code above I never get any > message printed. I know > >> that the loop works. When I kill the execution of > the loop the > >> listcounter variable has value different from the > initial one. > >> > >> What might be the solution to that strange > problem? > >> > >> Best Regards > >> Alex > >> > >> ______________________________________________ > >> R-help@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 > > > > ______________________________________________ > > R-help@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. > > -------------------------------------------------------------------- > E-Mail: (Ted Harding) <ted.hard...@wlandres.net> > Fax-to-email: +44 (0)870 094 0861 > Date: 16-Feb-11 > > Time: > 10:56:35 > ------------------------------ XFMail > ------------------------------ > ______________________________________________ R-help@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.