Hello R helpers,
I have a quick question about loop and next
In my loop, I have some random generation of data, but if the data doesn't
meet some condition, then I want it to go next, and generate data again for
next round.
# just an example..
# i want to generate the data again, if the sum is smaller than 25
temp=rep(NA, 10)
for(i in 1:10)
{
dt=sum(rbinom(10, 5, 0.5))
while (dt<25) next
temp[i]=dt
}
I also tried while(dt<25) {i=i+1}
But it doesn't seem right to me, since it running nonstop. Any solutions ?
Thanks for helps!
Carrie--
[[alternative HTML version deleted]]
Carrie Li wrote:> > ... > In my loop, I have some random generation of data, but if the data doesn't > meet some condition, then I want it to go next, and generate data again > for > next round. > > # just an example.. > # i want to generate the data again, if the sum is smaller than 25 > temp=rep(NA, 10) > for(i in 1:10) > { > dt=sum(rbinom(10, 5, 0.5)) > while (dt<25) next > temp[i]=dt > } > > I also tried while(dt<25) {i=i+1} > But it doesn't seem right to me, since it running nonstop. Any solutions ? > ... >You don't need next. I think you mean this temp <- rep(NA, 10) for(i in 1:10) { dt <- 0 while (dt<25) dt <- sum(rbinom(10, 5, 0.5)) temp[i] <- dt } /Berend -- View this message in context: http://r.789695.n4.nabble.com/questions-about-using-loop-while-and-next-tp3334692p3334880.html Sent from the R help mailing list archive at Nabble.com.
rex.dwyer at syngenta.com
2011-Mar-04 16:33 UTC
[R] questions about using loop, while and next
Carrie,
If your while-loop condition depends only on dt, and you don't change dt in
your loop, your loop won't terminate.
The only thing inside your loop is "next".
Perhaps you mean to write:
temp=rep(NA, 10)
for(i in 1:10)
{
dt=sum(rbinom(10, 5, 0.5))
while (dt<25) {
dt=sum(rbinom(10, 5, 0.5))
}
temp[i]=dt
}
It doesn't look like you understand "next". Try reading the help
with ?"next" -- the quotes are necessary in this case.
If you still don't understand next, you should be able to program without it
with appropriate if's.
HTH
Rex
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of Carrie Li
Sent: Friday, March 04, 2011 12:10 AM
To: r-help at r-project.org
Subject: [R] questions about using loop, while and next
Hello R helpers,
I have a quick question about loop and next
In my loop, I have some random generation of data, but if the data doesn't
meet some condition, then I want it to go next, and generate data again for
next round.
# just an example..
# i want to generate the data again, if the sum is smaller than 25
temp=rep(NA, 10)
for(i in 1:10)
{
dt=sum(rbinom(10, 5, 0.5))
while (dt<25) next
temp[i]=dt
}
I also tried while(dt<25) {i=i+1}
But it doesn't seem right to me, since it running nonstop. Any solutions ?
Thanks for helps!
Carrie--
[[alternative HTML version deleted]]
______________________________________________
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.
message may contain confidential information. If you are not the designated
recipient, please notify the sender immediately, and delete the original and any
copies. Any use of the message by you is prohibited.