diff --git a/scripts/ce089-09.R b/scripts/ce089-09.R
new file mode 100644
index 0000000000000000000000000000000000000000..6e680d54b980bfe3d67bfadbfe87780eaf3d484e
--- /dev/null
+++ b/scripts/ce089-09.R
@@ -0,0 +1,71 @@
+#=======================================================================
+# Formas eficientes para fazer estudos de simulação/reamostragem.
+
+#-----------------------------------------------------------------------
+# Cria a função com lista de todos os argumentos e use mapply().
+
+library(microbenchmark)
+
+# Curva de poder.
+power_k_groups <- function(k = 3,
+                           r = 4,
+                           sigma_group = 0.01,
+                           simulations = 50,
+                           alpha = 0.05) {
+    trt <- gl(n = k, k = r)
+    X <- model.matrix(~0 + trt)
+    results <- replicate(simulations, {
+        b <- rnorm(k, mean = 0, sigma_group)
+        y <- rnorm(k * r, mean = X %*% b, sd = 1)
+        anova(lm(y ~ X))[1, 5]
+    })
+    mean(results <= alpha)
+}
+
+# Criar o grid de condições (prototipar com um grid pequeno).
+grid <- expand.grid(k = 3:5,
+                    r = c(3, 5, 8),
+                    sigma_group = seq(0.01, 0.5, length.out = 10),
+                    KEEP.OUT.ATTRS = FALSE)
+nrow(grid)
+
+# Aplicar.
+grid$taxa <- mapply(FUN = power_k_groups,
+                    k = grid$k,
+                    r = grid$r,
+                    sigma_group = grid$sigma_group,
+                    MoreArgs = list(simulations = 10,
+                                    alpha = 0.05),
+                    SIMPLIFY = TRUE)
+
+#-----------------------------------------------------------------------
+# Usando purrr.
+
+library(purrr)
+
+grid$taxa <- pmap_dbl(.l = grid,
+                      .f = power_k_groups,
+                      simulations = 10,
+                      alpha = 0.05)
+
+#-----------------------------------------------------------------------
+
+library(microbenchmark)
+
+microbenchmark(
+    mapply = {
+        mapply(FUN = power_k_groups,
+               k = grid$k,
+               r = grid$r,
+               sigma_group = grid$sigma_group,
+               MoreArgs = list(simulations = 10,
+                               alpha = 0.05),
+               SIMPLIFY = TRUE)
+    },
+    pmap = {
+        pmap_dbl(.l = grid,
+                 .f = power_k_groups,
+                 simulations = 10,
+                 alpha = 0.05)
+    },
+    replications = 20)