diff --git a/scripts/ce089-08.R b/scripts/ce089-08.R
index 8906759a8e44dfcc1e17cd7461be9cfacd0628b6..9f914386d934cecc1acf216a4c95386aae3aed32 100644
--- a/scripts/ce089-08.R
+++ b/scripts/ce089-08.R
@@ -1,8 +1,18 @@
+#=======================================================================
+# Testes de hipótese Monte Carlo.
+
 #-----------------------------------------------------------------------
 # Teste para independência de processo pontual.
 
-plot(NULL, NULL, xlim = c(0, 1), ylim = c(0, 1), asp = 1)
-lines(x = c(0, 1, 1, 0, 0), y = c(0, 0, 1, 1, 0))
+plot(xy,
+     NULL,
+     xlim = c(0, 1),
+     ylim = c(0, 1),
+     asp = 1,
+     axes = FALSE,
+     ann = FALSE)
+lines(x = c(0, 1, 1, 0, 0),
+      y = c(0, 0, 1, 1, 0))
 # xy <- locator(n = 20, type = "p", pch = 19)
 # dput(lapply(xy, round, digits = 3))
 
@@ -21,10 +31,17 @@ xy <- structure(list(x = c(0.204, 0.186, 0.529, 0.529, 0.385, 0.579,
 # Transforma a lista em matriz.
 xy <- do.call(cbind, xy)
 
-plot(xy, NULL, xlim = c(0, 1), ylim = c(0, 1), asp = 1)
-lines(x = c(0, 1, 1, 0, 0), y = c(0, 0, 1, 1, 0))
-
-# Calcula todas as distâncias (euclidianas).
+plot(xy,
+     NULL,
+     xlim = c(0, 1),
+     ylim = c(0, 1),
+     asp = 1,
+     axes = FALSE,
+     ann = FALSE)
+lines(x = c(0, 1, 1, 0, 0),
+      y = c(0, 0, 1, 1, 0))
+
+# Calcula todas as distâncias (euclidianas) entre pontos.
 d <- dist(xy)
 d
 
@@ -52,7 +69,7 @@ abline(v = m, col = 2)
 2 * sum(M > m)/length(M)
 
 #-----------------------------------------------------------------------
-# Moficando a estatística de teste.
+# ATTENTION: dados um tanto patológicos.
 
 xy <- structure(list(x = c(0.088, 0.326, 0.577, 0.846, 0.857, 0.568,
                            0.306, 0.077, 0.077, 0.328, 0.597, 0.883,
@@ -67,8 +84,51 @@ xy <- structure(list(x = c(0.088, 0.326, 0.577, 0.846, 0.857, 0.568,
 # Transforma a lista em matriz.
 xy <- do.call(cbind, xy)
 
-plot(xy, NULL, xlim = c(0, 1), ylim = c(0, 1), asp = 1)
-lines(x = c(0, 1, 1, 0, 0), y = c(0, 0, 1, 1, 0))
+plot(xy,
+     NULL,
+     xlim = c(0, 1),
+     ylim = c(0, 1),
+     asp = 1,
+     axes = FALSE,
+     ann = FALSE)
+lines(x = c(0, 1, 1, 0, 0),
+      y = c(0, 0, 1, 1, 0))
+
+#-----------------------------------------------------------------------
+# Modificando a estatística de teste 1.
+
+# A soma das menores distâncias entre vizinhos mais próximos.
+d <- dist(xy)
+D <- as.matrix(d)
+diag(D) <- Inf
+apply(D, MARGIN = 2, FUN = min)
+m <- sum(apply(D, MARGIN = 2, FUN = min))
+
+# Número de pontos.
+n <- nrow(xy)
+
+# Geração de estatísticas por simulação do modelo assumido sob
+# hipótese nula.
+M <- replicate(9999, {
+    d <- dist(cbind(x = runif(n), y = runif(n)))
+    D <- as.matrix(d)
+    diag(D) <- Inf
+    sum(apply(D, MARGIN = 2, FUN = min))
+})
+
+# Concatena as estatísticas simuladas com a observada.
+M <- c(m, M)
+
+# Gráfico da distribuição acumulada empírica.
+plot(ecdf(M))
+abline(h = c(0.025, 0.975), lty = 2)
+abline(v = m, col = 2)
+
+# P-valor.
+2 * sum(M > m)/length(M)
+
+#-----------------------------------------------------------------------
+# Moficando a estatística de teste 2.
 
 # Todas as distância entre os pontos (a estatística de teste é um vetor
 # e não um escalar).
@@ -90,6 +150,9 @@ for (i in 2:ncol(D)) {
 }
 lines(ecdf(D[, 1]), cex = 0, col = 2, lwd = 2)
 
+#=======================================================================
+# Avaliação de métodos de amostragem ou delineamentos.
+
 #-----------------------------------------------------------------------
 # Amostragem por Conjuntos Ordenados.
 
@@ -162,3 +225,23 @@ qqmath(~m1 + m2 + m3,
        layout = c(NA, 1))
 
 #-----------------------------------------------------------------------
+
+# Criando um grid de rho.
+rho_grid <- seq(0, 0.95, by = 0.05)
+
+res <- lapply(rho_grid,
+              FUN = function(rho) {
+                  replicate(500, rssur(m = 10, rho = rho))
+              })
+str(res)
+
+n <- length(res[[1]])
+res <- do.call(c, res)
+
+res <- data.frame(rho = rep(rho_grid, each = n), valor = res)
+str(res)
+
+densityplot(~valor | rho, data = res) +
+    layer(panel.abline(v = 0, lty = 2))
+
+#-----------------------------------------------------------------------