[R] better loop for simulation

jim holtman jholtman at gmail.com
Sun Jun 19 00:33:01 CEST 2016


use replicate:

> stud.score <- function(n.questions, mult.choice = 2) {
+          prob.success <- 1 / mult.choice
+          answers <- (runif(n.questions) < prob.success)
+          return(sum(answers))
+  }
>
> # create 1000 results
> result <- replicate(1000, stud.score(10))
>
> # look at histogram
> stem(result)
  The decimal point is at the |
   0 | 0
   1 | 0000000000000
   2 | 000000000000000000000000000000000000000000000000000000000
   3 |
00000000000000000000000000000000000000000000000000000000000000000000+26
   4 |
00000000000000000000000000000000000000000000000000000000000000000000+116
   5 |
00000000000000000000000000000000000000000000000000000000000000000000+153
   6 |
00000000000000000000000000000000000000000000000000000000000000000000+142
   7 |
00000000000000000000000000000000000000000000000000000000000000000000+35
   8 | 00000000000000000000000000000000000000000000
   9 | 000000000000
  10 | 0


Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.

On Sat, Jun 18, 2016 at 6:12 PM, Naresh Gurbuxani <
naresh_gurbuxani at hotmail.com> wrote:

> I want to calculate a function many times over.  My solution below works,
> but does not seem very elegant.
>
> # my function to run many times over
> stud.score <- function(n.questions, mult.choice = 2) {
>         prob.success <- 1 / mult.choice
>         answers <- (runif(n.questions) < prob.success)
>         return(sum(answers))
> }
>
> # my method to run above function 1000 times and store results
> count.df <- data.frame(n.count = rep(10, 1000))
> scores.df <- apply(count.df, 1, function(x) return(stud.score(x)))
>
> Creating a data frame just to repeat the the count seems wasteful.  How
> can I generate scores.df without count.df?
>
> Thanks,
> Naresh
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list