knitr::opts_chunk$set(echo=FALSE) library(LHR) library(microbenchmark)
tf<- 5 N0<- c(N1s=5, N1b=5, N1bF=5, N2s=5, N2b=5, N2bF=5) params<- list(b1=2, b2=2, broods=2, PbF1=.4, PbF2=.4, a1=.3,ab1=.25,sa1=.25,j1=.1, a2=.3,ab2=.25,sa2=.20,j2=.1, AFR=1, K=500, Pb1=1, Pb2=1, c1=1, c2=1, cF=1, P1s=.5, P1b=.5, P1sa=.5, P1j=.5) replicates<- 1000 benchmarkRep<- microbenchmark(r100=discreteABMSim(N0=N0, params=params, tf=tf, replicates=100, Ntf=TRUE), r1000=discreteABMSim(N0=N0, params=params, tf=tf, replicates=1000, Ntf=TRUE), r10000=discreteABMSim(N0=N0, params=params, tf=tf, replicates=10000, Ntf=TRUE), r100000=discreteABMSim(N0=N0, params=params, tf=tf, replicates=100000, Ntf=TRUE), times=10) boxplot(benchmarkRep) ggplot2::autoplot(benchmarkRep) profvisRep<- profvis::profvis({ discreteABMSim(N0=N0, params=params, tf=tf, replicates=100, Ntf=TRUE) discreteABMSim(N0=N0, params=params, tf=tf, replicates=1000, Ntf=TRUE) discreteABMSim(N0=N0, params=params, tf=tf, replicates=10000, Ntf=TRUE) discreteABMSim(N0=N0, params=params, tf=tf, replicates=100000, Ntf=TRUE) }) profvisRep profvisNtf<- profvis::profvis({ discreteABMSim(N0=N0, params=params, tf=tf, replicates=replicates, Ntf=TRUE) discreteABMSim(N0=N0, params=params, tf=tf, replicates=replicates, Ntf=FALSE) }) profvisNtf
tf<- 5 N0<- c(N1s=5, N1b=5, N1bF=5, N2s=5, N2b=5, N2bF=5) params<- list(b1=2, b2=2, broods=2, PbF1=.4, PbF2=.4, a1=.3,ab1=.25,sa1=.25,j1=.1, a2=.3,ab2=.25,sa2=.20,j2=.1, AFR=1, K=500, Pb1=1, Pb2=1, c1=1, c2=1, cF=1, P1s=.5, P1b=.5, P1sa=.5, P1j=.5) replicates<- 1000 benchmarkRep<- microbenchmark(r100=discreteABMSim(N0=N0, params=params, tf=tf, replicates=100, Ntf=TRUE), r1000=discreteABMSim(N0=N0, params=params, tf=tf, replicates=1000, Ntf=TRUE), r10000=discreteABMSim(N0=N0, params=params, tf=tf, replicates=10000, Ntf=TRUE), r100000=discreteABMSim(N0=N0, params=params, tf=tf, replicates=100000, Ntf=TRUE), times=10) boxplot(benchmarkRep) ggplot2::autoplot(benchmarkRep) profvisRep<- profvis::profvis({ discreteABMSim(N0=N0, params=params, tf=tf, replicates=100, Ntf=TRUE) discreteABMSim(N0=N0, params=params, tf=tf, replicates=1000, Ntf=TRUE) discreteABMSim(N0=N0, params=params, tf=tf, replicates=10000, Ntf=TRUE) discreteABMSim(N0=N0, params=params, tf=tf, replicates=100000, Ntf=TRUE) }) profvisRep profvisNtf<- profvis::profvis({ discreteABMSim(N0=N0, params=params, tf=tf, replicates=replicates, Ntf=TRUE) discreteABMSim(N0=N0, params=params, tf=tf, replicates=replicates, Ntf=FALSE) }) profvisNtf
lh<- LH(method="LH axes", lambda=1.05) env<- Env(seasonAmplitude=0, varJ=0, varA=0, breedFail=.5) N0<- c(N1s=0, N1b=1, N1bF=0, N2s=0, N2b=1, N2bF=0) N0<- lapply(seq(1, 20, by=2), function(x) N0 * x) names(N0)<- paste0("N", sapply(N0, sum)) sim<- Sim.numericDistriABM(transitionsFunc=LHR:::transitionABM.LH_Beh_DIST, tf=2, maxN=10000, N0=N0) patchScenario<- getPatchScenario(behavior="skip") pars<- getParamsCombination.LHEnv_2patchBeh(lh=lh, env=env, patchScenario=patchScenario) pars<- pars[pars$broods < 2, ] model<- Model(sim=sim, pars=pars) # model<- Model(lh=lh, env=env, sim=sim) # model<- model[model$habDiff == "nestPredHab2" & model$behavior == "learnExploreBreed", ] params<- S3Part(model)[1,] N0<- c(N1s=0, N1b=1, N1bF=0, N2s=0, N2b=1, N2bF=0) N0<- lapply(seq(1, 20, by=4), function(x) N0 * x) names(N0)<- paste0("N", sapply(N0, sum)) expr<- lapply(names(N0), function(x){ parse(text=paste0(x, "=numericDistriABMSim(N0=N0[['", x, "']], params=params, tf=5, Ntf=TRUE, maxN=1e30)")) }) names(expr)<- names(N0) tf<- 3 benchmarkN0<- microbenchmark( N1=numericDistriABMSim(N0=N0[[1]], params=params, tf=tf, Ntf=TRUE, maxN=1e10), N2=numericDistriABMSim(N0=N0[[2]], params=params, tf=tf, Ntf=TRUE, maxN=1e10), N3=numericDistriABMSim(N0=N0[[3]], params=params, tf=tf, Ntf=TRUE, maxN=1e10), N4=numericDistriABMSim(N0=N0[[4]], params=params, tf=tf, Ntf=TRUE, maxN=1e10), # N5=numericDistriABMSim(N0=N0[[5]], params=params, tf=5, Ntf=TRUE, maxN=1e30), # N6=numericDistriABMSim(N0=N0[[6]], params=params, tf=5, Ntf=TRUE, maxN=1e30), # N7=numericDistriABMSim(N0=N0[[7]], params=params, tf=5, Ntf=TRUE, maxN=1e30), times=5) # benchmarkN0<- microbenchmark(list=expr, times=10) ## No differences on time tf<- seq(3, 20, by=4) expr<- lapply(tf, function(x){ parse(text=paste0("numericDistriABMSim(N0=N0[[2]], params=params, tf=", x, ", Ntf=TRUE, maxN=1e30)")) }) names(expr)<- tf # benchmarkTf<- microbenchmark(list=expr, times=10) benchmarkTf<- microbenchmark( tf1=numericDistriABMSim(N0=N0[[2]], params=params, tf=tf[1], Ntf=TRUE, maxN=1e30), tf2=numericDistriABMSim(N0=N0[[2]], params=params, tf=tf[2], Ntf=TRUE, maxN=1e30), tf3=numericDistriABMSim(N0=N0[[2]], params=params, tf=tf[3], Ntf=TRUE, maxN=1e30), tf4=numericDistriABMSim(N0=N0[[2]], params=params, tf=tf[4], Ntf=TRUE, maxN=1e30), # tf5=numericDistriABMSim(N0=N0[[2]], params=params, tf=tf[5], Ntf=TRUE, maxN=1e30), # tf6=numericDistriABMSim(N0=N0[[2]], params=params, tf=tf[6], Ntf=TRUE, maxN=1e30), # tf7=numericDistriABMSim(N0=N0[[2]], params=params, tf=tf[7], Ntf=TRUE, maxN=1e30), times=5) # boxplot(benchmarkN0) ggplot2::autoplot(benchmarkN0) names(N0) # boxplot(benchmarkTf) ggplot2::autoplot(benchmarkTf) tf tf<- 3 profvisNtf<- profvis::profvis({ numericDistriABMSim(N0=N0[[2]], params=params, tf=tf, Ntf=TRUE) numericDistriABMSim(N0=N0[[2]], params=params, tf=tf, Ntf=FALSE) }) profvisNtf profvisN0<- profvis::profvis({ numericDistriABMSim(N0=N0[[1]], params=params, tf=tf, Ntf=TRUE) numericDistriABMSim(N0=N0[[2]], params=params, tf=tf, Ntf=TRUE) numericDistriABMSim(N0=N0[[3]], params=params, tf=tf, Ntf=TRUE) numericDistriABMSim(N0=N0[[4]], params=params, tf=tf, Ntf=TRUE) }) profvisN0 profvisTf<- profvis::profvis({ numericDistriABMSim(N0=N0[[2]], params=params, tf=2, Ntf=TRUE) numericDistriABMSim(N0=N0[[2]], params=params, tf=4, Ntf=TRUE) numericDistriABMSim(N0=N0[[2]], params=params, tf=6, Ntf=TRUE) numericDistriABMSim(N0=N0[[2]], params=params, tf=8, Ntf=TRUE) }) profvisTf
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.