# multivariateGlm.fit: Multivariate generalized linear regression In SCGLR: Supervised Component Generalized Linear Regression

## Description

`multivariateGlm` is used to fit multivariate generalized linear models specified by a symbolic formula together with the distributions of the responses. This function performs a simple GLM fit for each dependent variable with the associated distribution.

## Usage

 `1` ```multivariateGlm.fit(Y, comp, family, offset, size) ```

## Arguments

 `Y` matrix of dependent variables. `comp` matrix of covariates. `family` a vector of character giving the family distribution of each response. `offset` used for the poisson dependent variables. A vector or a matrix of size: number of observations * number of Poisson dependent variables is expected. `size` a matrix giving the number of trials for each Binomial dependent variable ncol(size) must be equal to the number of Binomial variables.

## Value

the list, each item of which is the glm object associated with each response.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58``` ```## Not run: library(SCGLR) # load sample data data(genus) # get variable names from dataset n <- names(genus) ny <- n[grep("^gen",n)] # Y <- names that begins with "gen" nx <- n[-grep("^gen",n)] # X <- remaining names # remove "geology" and "surface" from nx as surface # is offset and we want to use geology as additional covariate nx <-nx[!nx%in%c("geology","surface")] # build multivariate formula # we also add "lat*lon" as computed covariate form <- multivariateFormula(ny,c(nx,"I(lat*lon)"),c("geology")) # split genus dataset sub <- sample(1:nrow(genus),100,replace=FALSE) sub_fit <- (1:nrow(genus))[-sub] # define family fam <- rep("poisson",length(ny)) # fit the model genus.scglr <- scglr(formula=form, data=genus, family=fam, K=4, offset=genus\$surface, subset=sub_fit) # xnew, the design matrix associated to sub-sample used for prediction # note rhs parameter is introduced to take into account that the # covariate part of the formula is composed of two differents sets xnew <- model.matrix(form, data=genus[sub,], rhs=1:2)[,-1] # prediction based on the scglr approch pred.scglr <- multivariatePredictGlm(xnew,family=fam, beta=genus.scglr\$beta, offset=genus\$surface[sub]) cor.scglr <-diag(cor(pred.scglr,genus[sub,ny])) plot(cor.scglr, col="red",ylim=c(-1,1)) # prediction based on classical poisson glm X <- model.matrix(form, data=genus)[,-1] Y <- genus[,ny] genus.glm <- multivariateGlm.fit(Y[sub_fit,,drop=FALSE],X[sub_fit,,drop=FALSE], family=fam, offset=matrix(genus\$surface[sub_fit], length(sub_fit),length(ny)),size=NULL) coefs <- sapply(genus.glm,coef) # rhs parameter is introduced to take into account that the # covariate part of the formula is composed of two differents sets pred.glm <- multivariatePredictGlm(xnew,family=fam,beta=coefs, offset=genus\$surface[sub]) cor.glm <- diag(cor(pred.glm,genus[sub,ny])) points(cor.glm, col="blue") ## End(Not run) ```

SCGLR documentation built on May 1, 2019, 8 p.m.