On 4/27/2007 7:13 PM, Robert Barber wrote: > Dear R Experts, > > Why I try to run this expression: > > x<-sapply(rnorm(rep(10,100000),mean=9,sd=1.5),mean) > > it evaluates the first 10000 values and then stops, but does not return > to the command prompt. My cpu keeps running at 100%. When I exit the > expression with CTL-C, I then see that x holds 10000 values. How can I > evalute the expression 100000 times, or more if I want?
If you interrupt the calculation, then x will be unchanged. You see 10000 values there because there were 10000 values the last time you finished an assignment to x. But more importantly, I think you don't understand what your expression is calculating. If you try it with smaller numbers, bit by bit, you may be surprised: > rnorm(rep(10, 3), mean=9, sd=1.5) [1] 8.790434 8.444429 8.935716 This doesn't give you 3 sets of 10 values, it gives you one vector of 3 values. > sapply(.Last.value, mean) [1] 8.790434 8.444429 8.935716 This takes the mean of each entry: i.e. it does nothing. I doubt this is what you intended to do. I suspect what you wanted was to generate 100000 sets of 10 values, and take the mean of each set. You can do that this way: x <- replicate(100000, mean(rnorm(10, mean=9, sd=1.5))) Duncan Murdoch ______________________________________________ R-help@stat.math.ethz.ch 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.