diff --git a/vignettes/v01_poisson.Rmd b/vignettes/v01_poisson.Rmd index 9c2c92a6d085857c91c748c61d4151d1d56f1f1d..7605def8c9cab59717dc77716156e163a0d413b0 100644 --- a/vignettes/v01_poisson.Rmd +++ b/vignettes/v01_poisson.Rmd @@ -185,5 +185,3 @@ cat(format(Sys.time(), format = "Atualizado em %d de %B de %Y.\n\n")) sessionInfo() ``` - -<!------------------------------------------- --> diff --git a/vignettes/v04_poisson_generalizada.Rmd b/vignettes/v04_poisson_generalizada.Rmd index 2f6e42ae0962665102cc6f2dfded5c7e51256781..818d47c97f12a7ffadc3c7944f3ab09e9648ec17 100644 --- a/vignettes/v04_poisson_generalizada.Rmd +++ b/vignettes/v04_poisson_generalizada.Rmd @@ -19,7 +19,6 @@ source("_setup.R") # devtools::load_all("../") library(lattice) library(latticeExtra) -library(rpanel) library(bbmle) library(corrplot) library(plyr) @@ -56,212 +55,9 @@ $$ - *Note que o espaço paramétrico de $\gamma$ é dependente do parâmetro $\theta$*. -```{r} -# Função densidade na parametrização original. -dpgnz0 <- function(y, theta, gamma, m = 4) { - if (gamma < 0) { - m <- max(c(m, floor(-theta/gamma))) - if (gamma < max(c(-1, -theta/m))) { - m <- 0 - } else { - m <- as.integer(y <= m) - } - } else { - m <- 1 - } - z <- theta + gamma * y - k <- lfactorial(y) - # fy <- m * theta * z^(y - 1) * exp(-z)/exp(k) - fy <- m * exp(log(theta) + (y - 1) * log(z) - z - k) - return(fy) -} - -# Caso Poisson (gamma == 0). -y <- 0:30 -theta <- 10 -gamma <- 0 - -fy <- dpgnz0(y = y, theta = theta, gamma = gamma) -plot(fy ~ y, type = "h", xlab = "y", ylab = "f(y)") -lines(y + 0.3, dpois(y, lambda = theta), type = "h", col = 2) - -grid <- expand.grid(lambda = c(2, 8, 15), - alpha = c(-0.05, 0, 0.05)) -y <- 0:35 - -py <- mapply(FUN = dpgnz, - lambda = grid$lambda, - alpha = grid$alpha, - MoreArgs = list(y = y), SIMPLIFY = FALSE) -grid <- cbind(grid[rep(1:nrow(grid), each = length(y)), ], - y = y, - py = unlist(py)) - -useOuterStrips(xyplot(py ~ y | factor(lambda) + factor(alpha), - ylab = expression(f(y)), - xlab = expression(y), - data = grid, type = "h", - panel = function(x, y, ...) { - m <- sum(x * y) - panel.xyplot(x, y, ...) - panel.abline(v = m, lty = 2) - }), - strip = strip.custom( - strip.names = TRUE, - var.name = expression(lambda == ""), - sep = ""), - strip.left = strip.custom( - strip.names = TRUE, - var.name = expression(alpha == ""), - sep = "")) -``` - -## Recursos interativos com o `rpanel` ## - -```{r, eval=FALSE} -react <- function(panel){ - with(panel, - { - m <- THETA/(1 - GAMMA) - s <- sqrt(THETA/(1 - GAMMA)^3) - from <- floor(max(c(0, m - 5 * s))) - to <- ceiling(max(c(YMAX, m + 5 * s))) - y <- from:to - py <- dpgnz0(y = y, theta = THETA, gamma = GAMMA) - if (POIS) { - pz <- dpois(y, lambda = m) - } else { - pz <- 0 - } - # Colocar 0 para valores não finitos (-Inf, Inf e NaN) para - # fazer gráfico. - py[!is.finite(py)] <- 0 - plot(py ~ y, type = "h", - ylim = c(0, max(c(py, pz))), - xlab = expression(y), - ylab = expression(f(y))) - mtext(side = 3, - text = substitute(sum(f(y)) == s, - list(s = round(sum(py), 5)))) - if (EX) { - abline(v = m, col = 2) - } - if (POIS) { - lines(y + 0.3, pz, type = "h", col = 3) - } - }) - panel -} - -panel <- rp.control(title = "Poisson Generalizada", - size = c(300, 100), YMAX = 150, m = 4) -rp.slider(panel = panel, action = react, - variable = THETA, title = "theta", - from = 0.1, to = 100, - initval = 5, resolution = 0.1, - showvalue = TRUE) -rp.slider(panel = panel, action = react, - variable = GAMMA, title = "gamma", - from = -1, to = 0.99, - initval = 0, resolution = 0.01, - showvalue = TRUE) -rp.checkbox(panel = panel, - variable = EX, action = react, title = "E(Y)", - labels = "Mostrar o valor esperado?") -rp.checkbox(panel = panel, - variable = POIS, action = react, title = "Poisson", - labels = "Adicionar a distribução Poisson?") -rp.do(panel = panel, action = react) -``` - ## Modelo de Regressão com a Distribuição Poisson Generalizada ## -```{r, eval=FALSE} -# Função densidade na parametrização de modelo de regressão. -MRDCr::dpgnz - -react <- function(panel){ - with(panel, - { - m <- LAMBDA - s <- sqrt(LAMBDA) * (1 + ALPHA * LAMBDA) - from <- floor(max(c(0, m - 5 * s))) - to <- ceiling(max(c(YMAX, m + 5 * s))) - y <- from:to - py <- dpgnz(y = y, lambda = LAMBDA, alpha = ALPHA) - if (POIS) { - pz <- dpois(y, lambda = m) - } else { - pz <- 0 - } - py[!is.finite(py)] <- 0 - plot(py ~ y, type = "h", - ylim = c(0, max(c(py, pz))), - xlab = expression(y), - ylab = expression(f(y))) - mtext(side = 3, - text = substitute(sum(f(y)) == s, - list(s = round(sum(py), 5)))) - if (EX) { - abline(v = m, col = 2) - } - if (POIS) { - lines(y + 0.3, pz, type = "h", col = 3) - } - }) - panel -} - -panel <- rp.control(title = "Poisson Generalizada", - size = c(300, 100), YMAX = 150) -rp.slider(panel = panel, action = react, - variable = LAMBDA, title = "lambda", - from = 0.1, to = 100, - initval = 5, resolution = 0.1, - showvalue = TRUE) -rp.slider(panel = panel, action = react, - variable = ALPHA, title = "alpha", - from = -0.1, to = 0.4, - initval = 0, resolution = 0.01, - showvalue = TRUE) -rp.checkbox(panel = panel, - variable = EX, action = react, title = "E(Y)", - labels = "Mostrar o valor esperado?") -rp.checkbox(panel = panel, - variable = POIS, action = react, title = "Poisson", - labels = "Adicionar a distribução Poisson?") -rp.do(panel = panel, action = react) -``` - -## O Espaço Paramétrico ## - ```{r} -#----------------------------------------------------------------------- -# Gráfico do espaço paramétrico de theta x gamma. - -fun <- Vectorize(vectorize.args = c("theta", "gamma"), - FUN = function(theta, gamma) { - sum(dpgnz0(y = y, theta = theta, gamma = gamma)) - }) - -grid <- list(theta = seq(1, 50, by = 1), - gamma = seq(-0.5, 1, by = 0.05)) -str(grid) - -y <- 0:500 -my <- max(y) - -grid$sum <- with(grid, outer(theta, gamma, fun)) -grid <- with(grid, - cbind(expand.grid(theta = theta, gamma = gamma), - data.frame(sum = c(sum)))) - -levelplot(sum ~ theta + gamma, - data = subset(grid, round(sum, 3) == 1), - col.regions = gray.colors) + - layer(panel.abline(a = 0, b = -1/my)) + - layer(panel.abline(h = 0, lty = 2)) - #----------------------------------------------------------------------- # Gráfico do espaço paramétrico de lambda x alpha. @@ -1180,3 +976,11 @@ qqmath(~values | ind, data = rp, }) ``` + +## Informações da sessão + +```{r, echo=FALSE, results="hold"} +cat(format(Sys.time(), + format = "Atualizado em %d de %B de %Y.\n\n")) +sessionInfo() +``` diff --git a/vignettes/v06_gamma_count.Rmd b/vignettes/v06_gamma_count.Rmd index 3e5ec4b31a22ac470839995d598ad1294b59f5b9..84c0a22160a7d620ff07414f02bdbf1ec556ffb6 100644 --- a/vignettes/v06_gamma_count.Rmd +++ b/vignettes/v06_gamma_count.Rmd @@ -150,7 +150,6 @@ uma unidade de $x$. library(lattice) library(latticeExtra) library(grid) -library(rpanel) library(bbmle) library(corrplot) library(plyr) @@ -197,68 +196,6 @@ useOuterStrips(xyplot(py ~ y | factor(lambda) + factor(alpha), sep = "")) ``` -## Recursos interativos com o `rpanel` ## - -```{r, eval=FALSE} -# Função densidade na parametrização de modelo de regressão. -MRDCr::dgcnt - -react <- function(panel){ - with(panel, - { - m <- LAMBDA - s <- sqrt(LAMBDA/exp(ALPHA)) - y <- 0:max(c(YMAX, ceiling(m + 5 * s))) - py <- dgcnt(y = y, lambda = LAMBDA, alpha = exp(ALPHA)) - if (POIS) { - pz <- dpois(y, lambda = m) - } else { - pz <- 0 - } - py[!is.finite(py)] <- 0 - plot(py ~ y, type = "h", - ylim = c(0, max(c(py, pz))), - xlab = expression(y), - ylab = expression(f(y))) - mtext(side = 3, - text = substitute(sum(f(y)) == s, - list(s = round(sum(py), 5)))) - if (EX) { - m <- sum(y * py) - # v <- sum((y - m)^2 * py) - legend("topright", bty = "n", - legend = substitute(E(Y) == mu, - list(mu = m))) - abline(v = m, col = 2) - } - if (POIS) { - lines(y + 0.3, pz, type = "h", col = 3) - } - }) - panel -} - -panel <- rp.control(title = "Gamma Count", - size = c(300, 100), YMAX = 50) -rp.slider(panel = panel, action = react, - variable = LAMBDA, title = "lambda", - from = 1, to = 0.75 * panel$YMAX, - initval = 5, resolution = 0.1, - showvalue = TRUE) -rp.slider(panel = panel, action = react, - variable = ALPHA, title = "alpha", - from = -5, to = 5, - initval = 0, resolution = 0.02, - showvalue = TRUE) -rp.checkbox(panel = panel, - variable = EX, action = react, title = "E(Y)", - labels = "Mostrar o valor esperado?") -rp.checkbox(panel = panel, - variable = POIS, action = react, title = "Poisson", - labels = "Adicionar a distribução Poisson?") -rp.do(panel = panel, action = react) -``` - ## Verossimilhança e Estimação ## ```{r} @@ -1563,6 +1500,10 @@ colnames(dwl) <- sprintf(paste(levels(db$home)[i], collapse = " %s "), t(dwl) ``` -```{r, eval=FALSE, include=FALSE} -opts_chunk$set(eval = FALSE) +## Informações da sessão + +```{r, echo=FALSE, results="hold"} +cat(format(Sys.time(), + format = "Atualizado em %d de %B de %Y.\n\n")) +sessionInfo() ``` diff --git a/vignettes/v07_misto.Rmd b/vignettes/v07_misto.Rmd index 0567e643dcefd59ef600b533e6d8d9557114fe2a..df0274d55cdacda9a42ef4dd89cadee787650776 100644 --- a/vignettes/v07_misto.Rmd +++ b/vignettes/v07_misto.Rmd @@ -19,9 +19,6 @@ source("_setup.R") library(lattice) library(latticeExtra) library(grid) -# library(rpanel) -# library(bbmle) -# library(corrplot) library(plyr) library(car) library(doBy) @@ -301,3 +298,11 @@ xyplot(fit ~ idade | modelo, groups = resfr, data = pred, as.layer(xyplot(nap ~ idade, groups = resfr, data = confterm)) ``` + +## Informações da sessão + +```{r, echo=FALSE, results="hold"} +cat(format(Sys.time(), + format = "Atualizado em %d de %B de %Y.\n\n")) +sessionInfo() +```