[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