[R-br] d, p, q , r - Quais as relações matemáticas entre estas funções
. .
xkziloj em gmail.com
Segunda Agosto 22 01:16:55 BRT 2011
Obrigado pela resposta amigo, mas antes de ver os códigos gostaria de
entender como obter as equações...
Usando como ex a distribuição exponencial, a PDF (dexp) é ke^{-kx} e a
CDF (pexp) é obtida integrando a PDF, o que resulta em 1-e^{kx}.
Considerando que conheço a PDF, como obtenho qexp e a rexp?
2011/8/21 Jose Claudio Faria <joseclaudio.faria em gmail.com>:
> Creio que você vai ter que baixar o código fonte do R e dar uma olhada
> no conteúdo da pasta "src/nmath".
>
>> dnorm
> function (x, mean = 0, sd = 1, log = FALSE)
> .Internal(dnorm(x, mean, sd, log))
> <bytecode: 0x2497258>
> <environment: namespace:stats>
>
>> pnorm
> function (q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
> .Internal(pnorm(q, mean, sd, lower.tail, log.p))
> <bytecode: 0x248bad0>
> <environment: namespace:stats>
>
>> qnorm
> function (p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
> .Internal(qnorm(p, mean, sd, lower.tail, log.p))
> <bytecode: 0x2499d08>
> <environment: namespace:stats>
>
>> rnorm
> function (n, mean = 0, sd = 1)
> .Internal(rnorm(n, mean, sd))
> <bytecode: 0x248a5c0>
> <environment: namespace:stats>
>
> Por exemplo, a dnorm:
> /*
> * Mathlib : A C Library of Special Functions
> * Copyright (C) 1998 Ross Ihaka
> * Copyright (C) 2000 The R Development Core Team
> * Copyright (C) 2003 The R Foundation
> *
> * This program is free software; you can redistribute it and/or modify
> * it under the terms of the GNU General Public License as published by
> * the Free Software Foundation; either version 2 of the License, or
> * (at your option) any later version.
> *
> * This program is distributed in the hope that it will be useful,
> * but WITHOUT ANY WARRANTY; without even the implied warranty of
> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> * GNU General Public License for more details.
> *
> * You should have received a copy of the GNU General Public License
> * along with this program; if not, a copy is available at
> * http://www.r-project.org/Licenses/
> *
> * SYNOPSIS
> *
> * double dnorm4(double x, double mu, double sigma, int give_log)
> * {dnorm (..) is synonymous and preferred inside R}
> *
> * DESCRIPTION
> *
> * Compute the density of the normal distribution.
> */
>
> #include "nmath.h"
> #include "dpq.h"
>
> double dnorm4(double x, double mu, double sigma, int give_log)
> {
> #ifdef IEEE_754
> if (ISNAN(x) || ISNAN(mu) || ISNAN(sigma))
> return x + mu + sigma;
> #endif
> if(!R_FINITE(sigma)) return R_D__0;
> if(!R_FINITE(x) && mu == x) return ML_NAN;/* x-mu is NaN */
> if (sigma <= 0) {
> if (sigma < 0) ML_ERR_return_NAN;
> /* sigma == 0 */
> return (x == mu) ? ML_POSINF : R_D__0;
> }
> x = (x - mu) / sigma;
>
> if(!R_FINITE(x)) return R_D__0;
> return (give_log ?
> -(M_LN_SQRT_2PI + 0.5 * x * x + log(sigma)) :
> M_1_SQRT_2PI * exp(-0.5 * x * x) / sigma);
> /* M_1_SQRT_2PI = 1 / sqrt(2 * pi) */
> }
>
> Creio que todas as distribuições (mas não tenho certeza) ficam nessa
> pasta: /R-dev/src/nmath
>
> Abs,
> --
> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
> Jose Claudio Faria
> UESC/DCET/Brasil
> joseclaudio.faria at gmail.com
> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
Mais detalhes sobre a lista de discussão R-br