[R] printing a variable during a loop

Antonio Olinto aolinto_r at bignet.com.br
Thu Oct 21 21:32:11 CEST 2010


Thanks Joshua, David and Adrienne for the attention.

flush.console() was what I need.

All the best,

Antonio


Citando Joshua Wiley <jwiley.psych em gmail.com>:

> On Thu, Oct 21, 2010 at 12:03 PM, David Winsemius
> <dwinsemius em comcast.net> wrote:
>>
>> On Oct 21, 2010, at 8:58 PM, Antonio Olinto wrote:
>>
>>> Thanks Adrienne, but I still in doubt. The behavior of print and message
>>> looks the same.
>>>
>>> Nothing is displayed on the screen after minutes of routine processing .
>>> All values of "i" are displayed only when I press the stop button  
>>> (I'm under
>>> Windows) or when "i" reaches the maximum value.
>>>
>>
>> In the past people have needed to use flush.console() to get output to the
>> screen. Unable to test since A) I'm not running your OS, and B) no
>> reproducible example offered.
>
> I am running your OS (though it would also be nice if you reported the
> results of sessionInfo() ).  In any case, this worked for me on R
> 2.12.0 (i386-pc-mingw32):
>
> for(i in 1:6) {Sys.sleep(3); print(i); flush.console()}
>
> For your problem, I imagine something like (though untested because no data):
>
> for (i in 1:23194) {
> dat.stat[i,c(2:8)]<-quantile(dat.bat[BL==block[i],2],prob=c(0,0.025,0.25,0.5,0.75,0.975,1))
> print(i)
> flush.console()
> }
>
>>
>>> Thanks again,
>>>
>>> Antônio Olitno
>>>
>>>
>>> Citando Adrienne Wootten <amwootte em ncsu.edu>:
>>>
>>>> instead of print use this
>>>>
>>>> message(i)
>>>>
>>>> the message command is used for things like this and it will print the
>>>> value
>>>> of i as you are looping through, but you can also do this:
>>>>
>>>> message("Counter value is: ",i)
>>>>
>>>> which returns for i = 20 for example
>>>>
>>>> "Counter value is 20"
>>>>
>>>> for more check out the message help section in the html
>>>>
>>>> ? message
>>>>
>>>>
>>>> Adrienne Wootten
>>>> NCSU
>>>>
>>>> On Thu, Oct 21, 2010 at 2:05 PM, Antonio Olinto
>>>> <aolinto_r em bignet.com.br>wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> About looping, consider the example:
>>>>>
>>>>> for (i in 1:23194) {
>>>>>
>>>>>
>>>>> dat.stat[i,c(2:8)]<-quantile(dat.bat[BL==block[i],2],prob=c(0,0.025,0.25,0.5,0.75,0.975,1))
>>>>> print(i)
>>>>> }
>>>>>
>>>>> I'd like to have the value of "i" printed for each loop (step). As I
>>>>> could
>>>>> see the values of "i" are shown on screen only after all the work is
>>>>> done.
>>>>>
>>>>> Thanks in advance for any suggestion.
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Antonio
>>>
>> --
>>
>> David Winsemius, MD
>> West Hartford, CT
>>
>> ______________________________________________
>> R-help em 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.
>>
>
>
>
> --
> Joshua Wiley
> Ph.D. Student, Health Psychology
> University of California, Los Angeles
> http://www.joshuawiley.com/
>



----------------------------------------------------------------
Webmail - iBCMG Internet
http://www.ibcmg.com.br



More information about the R-help mailing list