Xnew: a data frame containing the values of the covariates for the new sample.
family: a vector of character specifying the distributions of the responses.
beta: the matrix of coefficients estimated from the calibration sample.
offset: used for the poisson dependent variables. A vector or a matrix of size: number of observations * number of Poisson dependent variables is expected.
Returns
a matrix of predicted values.
Examples
## Not run:library(SCGLR)# load sample datadata(genus)# get variable names from datasetn <- 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 covariatenx <-nx[!nx%in%c("geology","surface")]# build multivariate formula# we also add "lat*lon" as computed covariateform <- multivariateFormula(ny,c(nx,"I(lat*lon)"),c("geology"))# split genus datasetsub <- sample(1:nrow(genus),100,replace=FALSE)sub_fit <-(1:nrow(genus))[-sub]# define familyfam <- rep("poisson",length(ny))# fit the modelgenus.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# rhs parameters is introduced to take into account that the covariate# of the formula is composed of two differents setsxnew <- model.matrix(form, data=genus[sub,], rhs=1:2)[,-1]# prediction based on the scglr approchpred.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 glmX <- 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 parameters is introduced to take into account that the covariate# part of the formula is composed of two differents setspred.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)