From a9725a4f2192cd3723c2b7b75cabd7efac157268 Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Sat, 21 May 2016 22:35:57 -0300 Subject: [PATCH] Corrige intervalo de y a ser primeiramente avaliado --- R/cmp.R | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/R/cmp.R b/R/cmp.R index 96f679c..ad22f6c 100644 --- a/R/cmp.R +++ b/R/cmp.R @@ -266,8 +266,9 @@ calc_mean_cmp <- function(lambda, nu, sumto, tol = 1e-5) { names(nu) <- NULL pars <- data.frame(lambda = lambda, nu = nu) ## Calcula o ymax usando mu + 5 (sqrt(sigma)) - sigma <- lambda^(1/nu)/nu - (nu - 1)/(2 * nu^2) - ymax <- with(pars, ceiling(max(lambda + 5 * sqrt(sigma)))) + approxmu <- lambda^(1/nu) - (nu - 1)/(2 * nu) + sigma <- (1/nu) * approxmu + ymax <- with(pars, ceiling(max(approxmu + 5 * sqrt(sigma)))) ## Agora verifica se a prob(ymax) é de fato pequena, se não, soma 1. lambdamax <- max(pars$lambda) numin <- min(pars$nu) @@ -317,9 +318,10 @@ calc_var_cmp <- function(lambda, nu, sumto, tol = 1e-5) { names(lambda) <- NULL names(nu) <- NULL pars <- data.frame(lambda = lambda, nu = nu) - # Calcula o ymax usando mu + 5 (sqrt(sigma)) - sigma <- lambda^(1/nu)/nu - (nu - 1)/(2 * nu^2) - ymax <- with(pars, ceiling(max(lambda + 5 * sqrt(sigma)))) + ## Calcula o ymax usando mu + 5 (sqrt(sigma)) + approxmu <- lambda^(1/nu) - (nu - 1)/(2 * nu) + sigma <- (1/nu) * approxmu + ymax <- with(pars, ceiling(max(approxmu + 5 * sqrt(sigma)))) # Agora verifica se a prob(ymax) é de fato pequena, se não, soma 1. lambdamax <- max(pars$lambda) numin <- min(pars$nu) -- GitLab