[R] Help with basic loop

Ivan Calandra ivan.calandra at uni-hamburg.de
Mon Apr 11 10:42:14 CEST 2011


Hi,

I think you can do this without a loop (well, replicate() is based on 
sapply()):
prob<-numeric(1000)
task1 <- replicate(1000,runif(1, min=0.8, max= 0.9))
task2 <- replicate(1000,runif(1, min=0.75, max= 0.85))
task3 <- replicate(1000,runif(1, min=0.81, max= 0.89))
prob <- task1*task2*task3

It might not be faster, but I don't think it can be slower. And I find 
the code easier and clearer.
Please correct me if this is not equivalent.

HTH,
Ivan


Le 4/11/2011 01:06, Daniel Malter a écrit :
> The loop is correct, you just need to make sure that your result is computed
> and stored as the n-th element that is returned by the loop. Pick up any
> manual of R, and looping will be explained there. Also, I would recommend
> that you draw a random number for every iteration of the loop. Defining the
> random vectors outside the loop make sense to me only if they are the same
> length as n.
>
> prob<-numeric(1000)
>
> for (n in 1:1000) {
> task1<- runif(1, min=0.8, max= 0.9)
> task2<- runif(1, min=0.75, max= 0.85)
> task3<- runif(1, min=0.81, max= 0.89)
> prob[n]<-task1*task2*task3
> }
>
> If you wanted to store the individual probabilities (task1..3), you would
> proceed accordingly by defining them outside the loop and storing the value
> in the loop as the n-th element of that vector just like for prob.
>
> HTH,
> Daniel
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Help-with-basic-loop-tp3440190p3440607.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
>

-- 
Ivan CALANDRA
PhD Student
University of Hamburg
Biozentrum Grindel und Zoologisches Museum
Abt. Säugetiere
Martin-Luther-King-Platz 3
D-20146 Hamburg, GERMANY
+49(0)40 42838 6231
ivan.calandra at uni-hamburg.de

**********
http://www.for771.uni-bonn.de
http://webapp5.rrz.uni-hamburg.de/mammals/eng/1525_8_1.php



More information about the R-help mailing list