[R] Writing a new link for a GLM.

Jan Graffelman jan.graffelman at upc.edu
Fri Jun 13 11:54:30 CEST 2008


Hi,

I wish to write a new link function for a GLM. R's glm routine does
not supply the "loglog" link. I modified the make.link function adding
the code:

     }, loglog = {
         linkfun <- function(mu) -log(-log(mu))
         linkinv <- function(eta) exp(-exp(-eta))
         mu.eta <- function(eta) exp(-exp(-eta)-eta)
         valideta <- function(eta) all(eta != 0)
     }, stop(sQuote(link), " link not recognised"))
     structure(list(linkfun = linkfun, linkinv = linkinv, mu.eta = mu.eta,
         valideta = valideta, name = link), class = "link-glm")
}


and then call glm with argument

glm(y~x1+x2+x3,family=binomial(link=make.link("loglog")),data=X)

and that seems to work.

Is this the way to include a new link function? Any other suggestions?

Jan.

-- 
------------------------------------------------------------------------
|Jan Graffelman                          |tel:   +34-93-4011739        |
|Dpt. of Statistics & Operations Research|fax:   +34-93-4016575        |
|Universitat Politecnica de Catalunya    |email: jan.graffelman at upc.edu|
|Av. Diagonal 647, 6th floor             |www:                         |
|08028 Barcelona, Spain                  |  http://www-eio.upc.es/~jan/|



More information about the R-help mailing list