On 18/06/2016 6:12 PM, Naresh Gurbuxani 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,
You don't need a data frame or a loop at all. You're simulating
binomial values, and R has rbinom() to do that in a vectorized way.
Duncan
______________________________________________
R-help@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.