From 4c89e4193c2a85885b578856008055ad947f1372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Pelletier?= Date: Fri, 3 Jan 2014 01:40:46 -0500 Subject: [PATCH] Ajout de fgmGAL --- R/fgmGAL.R | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 R/fgmGAL.R diff --git a/R/fgmGAL.R b/R/fgmGAL.R new file mode 100644 index 0000000..0d4eb94 --- /dev/null +++ b/R/fgmGAL.R @@ -0,0 +1,40 @@ +# Moment generating function of GAL distribution +# +# Author: Francois Pelletier +# +# LGPL 3.0 +############################################################################### + +#' Moment generating function of GAL distribution +#' @param u Transform variate +#' @param param Parameter vector +#' @param type Choose between "mu" or "kappa" parametrization +#' @param log Logical for log-parameters +#' @return Moment generating function value at point u for given parameter vector +#' +#' @author Francois Pelletier +mgfGAL <- function(u,param,type="mu",log=FALSE) +{ + if(log) + { + if(type=="mu") + { + exp(exp(param[1])*u)*(1-(1/2)*exp(param[2])^2*u^2-exp(param[3])*u)^(-exp(param[4])) + } + if(type=="kappa") + { + exp(exp(param[1])*u)*((exp(param[2])^2*u^2)/2+(exp(param[3])*exp(param[2])*u)/sqrt(2)-(exp(param[2])*u)/(sqrt(2)*exp(param[3]))+1)^(-exp(param[4])) + } + } + else + { + if(type=="mu") + { + exp(param[1]*u)*(1-(1/2)*param[2]^2*u^2-param[3]*u)^(-param[4]) + } + if(type=="kappa") + { + exp(param[1]*u)*((param[2]^2*u^2)/2+(param[3]*param[2]*u)/sqrt(2)-(param[2]*u)/(sqrt(2)*param[3])+1)^(-param[4]) + } + } +} \ No newline at end of file