Francisco Mauro Gutiérrez
2013-Jan-18  00:15 UTC
[R-es] optimización de código en R (Carlos J
Hola Tania
 
Que tal estas soluciones, creo que el tema va por la 4 
 
 
 
sim4 <- function(nreps)  {
nb1 <- 10  # 10 blue marbles in Urn 1
n1 <- 18  # number of marbles in Urn 1 at 1st pick
n2 <- 13  # number of marbles in Urn 2 at 2nd pick
nb2 <- 6 
 
draw1<-ifelse(runif(nreps)<nb1/n1,1,0)
sum(draw2<-ifelse(runif(nreps)<(nb2+draw1)/(n2+draw1),1,0))/nreps
 
}
 
 
sim4b <- function(nreps)  {
                nb1 <- 10  # 10 blue marbles in Urn 1
                n1 <- 18  # number of marbles in Urn 1 at 1st pick
                n2 <- 13  # number of marbles in Urn 2 at 2nd pick
                nb2 <- 6 
                
                draw1<-ifelse(runif(nreps)<nb1/n1,1,0)
                sum(rbinom(nreps,1,(nb2+draw1)/(n2+draw1)))/nreps
                
}
 
 
system.time(sim1(10000))
#    user  system elapsed 
#    0.12    0.00    0.12 
 
 
system.time(sim4(10000))
#    user  system elapsed 
#    0.02    0.00    0.01 
 
 
system.time(sim4b(10000))
#    user  system elapsed 
#    0.02    0.00    0.02 
 
 
 
Paco
	[[alternative HTML version deleted]]