[R] how does while work

Mike Lonergan mel at mcs.st-and.ac.uk
Fri Mar 22 11:10:36 CET 2002


Andy,

I agree that it would be idiotic to do this by hand, but another debug
function that took the desired function, automatically added in the check
after every completed command and ran the result might not be so daft.
Though it would also need to add in extra {}s to avoid messing up single
line ifs & fors.

I assume there is a way of finding the end of statements (other than
repeated try's)?

Cheers,

Mike.



     > -----Original Message-----
     > From: owner-r-help at stat.math.ethz.ch
     > [mailto:owner-r-help at stat.math.ethz.ch]On Behalf Of Liaw, Andy
     > Sent: 21 March 2002 20:59
     > To: 'Giovanni Petris'
     > Cc: r-help at stat.math.ethz.ch
     > Subject: RE: [R] how does while work
     >
     >
     > Don't think so.  stop() and warning() will only be triggered
     > when explicited
     > told to do so.  Thus, essentially the (only?) idiotic way to
     > do it is insert
     > if(x>=100) stop("x>100!") everywhere.  There's no mechanism
     > to keep track of
     > a variable as the program executes, AFAIK.
     >
     > Andy
     >
     > > -----Original Message-----
     > > From: Giovanni Petris [mailto:GPetris at uark.edu]
     > > Sent: Thursday, March 21, 2002 3:17 PM
     > > To: andy_liaw at merck.com
     > > Cc: richmond at saintmarys.edu; imij at columbus.rr.com;
     > > r-help at stat.math.ethz.ch
     > > Subject: Re: [R] how does while work
     > >
     > >
     > >
     > > Maybe warning() or stop() can be used for this purpose.
     > >
     > > Giovanni
     > >
     > > > X-Server-Uuid: 7a42c1b6-0774-11d5-89f7-00508bcf402e
     > > > Content-return: allowed
     > > > Date: Thu, 21 Mar 2002 12:55:15 -0500
     > > > From: "Liaw, Andy" <andy_liaw at merck.com>
     > > > cc: r-help at stat.math.ethz.ch
     > > > X-WSS-ID: 1084C110134707-08-01
     > > > Sender: owner-r-help at stat.math.ethz.ch
     > > > Precedence: SfS-bulk
     > > > Content-Type: text/plain;
     > > >  charset=us-ascii
     > > > Content-Length: 2731
     > > >
     > > > What he wanted is a mechanism to "watch" for a condition on
     > > a variable, and
     > > > stop execution as soon as that condition is TRUE,
     > > regardless of where in the
     > > > program.  The only thing that I know of that sort of does
     > > this is inside
     > > > gdb, the GNU debugger.  AFAIK this is impossible.  If
     > > anyone has better
     > > > idea, I'd like to hear about it, too.
     > > >
     > > > Andy
     > > >
     > > > > -----Original Message-----
     > > > > From: David A Richmond [mailto:richmond at saintmarys.edu]
     > > > > Sent: Thursday, March 21, 2002 11:00 AM
     > > > > To: jimi adams
     > > > > Cc: r-help at stat.math.ethz.ch
     > > > > Subject: Re: [R] how does while work
     > > > >
     > > > >
     > > > > On Wed, 20 Mar 2002, jimi adams wrote:
     > > > >
     > > > > > i am having some problems with a program that i am writing
     > > > > and i think that
     > > > > > knowing how the while command works will help me to figure
     > > > > out where i am
     > > > > > going wrong
     > > > > > *when do you get kicked out of a while loop?*
     > > > > > (i.e., in the following example  what would the final value
     > > > > of 'a' be?) i
     > > > > > thought it would be 99 but running it in R i get 101 (and
     > > > > 101 for x too!)
     > > > > >
     > > > > > while (x <100) {
     > > > > >   for (i in 1:101) {
     > > > > >     i -> x
     > > > > >     x -> a
     > > > > >   }
     > > > > > *here*
     > > > > > }
     > > > >
     > > > > Essentially the while condition doesn't get checked until
     > > > > just before the
     > > > > last curly brace (where I inserted *here* above), so the for
     > > > > loop gets to
     > > > > do it's thing until i (and x and a) reach 101 and only then
     > > > > is the while
     > > > > condition allowed to drop you out of the loop.
     > > > >
     > > > > > while this is a crude example, it is the basic form of what
     > > > > i am trying to
     > > > > > do, and i am guessing that while is not what i am
     > looking for...
     > > > >
     > > > > what exactly are you trying to do?
     > > > >
     > > > > daver
     > > > >
     > > > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     > > > > |David Richmond                It works on a          |
     > > > > + Dept. of Sociology          complex scientific      +
     > > > > |Saint Mary's College          principle, known as    |
     > > > > + Notre Dame, IN 46556               "pot luck."      +
     > > > > |574-284-4517                    - The Doctor         |
     > > > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     > > > >
     > > > > -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
     > > > > -.-.-.-.-.-.-.-.-
     > > > > r-help mailing list -- Read
     > > > http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
     > > > Send "info", "help", or "[un]subscribe"
     > > > (in the "body", not the subject !)  To:
     > > r-help-request at stat.math.ethz.ch
     > > >
     > > _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.
     > > _._._._._._._.
     > > > _._
     > > >
     > > >
     > > -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
     > > -.-.-.-.-.-.-.-.-
     > > > r-help mailing list -- Read
     > > http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
     > > > Send "info", "help", or "[un]subscribe"
     > > > (in the "body", not the subject !)  To:
     > > r-help-request at stat.math.ethz.ch
     > > >
     > > _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.
     > > _._._._._._._._._
     > > >
     > >
     > > --
     > >
     > >  __________________________________________________
     > > [                                                  ]
     > > [ Giovanni Petris                 GPetris at uark.edu ]
     > > [ Department of Mathematical Sciences              ]
     > > [ University of Arkansas - Fayetteville, AR 72701  ]
     > > [ Ph: (479) 575-6324, 575-8630 (fax)               ]
     > > [ http://definetti.uark.edu/~gpetris/              ]
     > > [__________________________________________________]
     > >
     > >
     >
     > -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
     > .-.-.-.-.-.-.-.-.-
     > r-help mailing list -- Read
http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.
_._

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list