Principal component generalised linear models {Compositional} R Documentation

## Principal component generalised linear models

### Description

Principal component generalised linear models.

### Usage

```pcr(y, x, k = 1, xnew = NULL)
glm.pcr(y, x, k = 1, xnew = NULL)
```

### Arguments

 `y` A numerical vector, a real values vector or a numeric vector with 0 and 1 (binary) or a vector with discrete (count) data. `x` A matrix with the predictor variable(s), they have to be continuous. `k` A number greater than or equal to 1. How many principal components to use. In the case of "pcr" this can be a single number or a vector. In the second case you get results for the sequence of principal components. `xnew` If you have new data use it, otherwise leave it NULL.

### Details

Principal component regression is performed with linear, binary logistic or Poisson regression, depending on the nature of the response variable. The principal components of the cross product of the independent variables are obtained and classical regression is performed. This is used in the function `alfa.pcr`.

### Value

A list including:

 `be` The beta coefficients of the predictor variables computed via the principcal components if "pcr" is used. `model` The summary of the logistic or Poisson regression model. `per` The percentage of variance of the predictor variables retained by the k principal components. `vec` The principal components, the loadings. `est` The fitted or the predicted values (if xnew is not NULL).

### Author(s)

Michail Tsagris

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

### References

Aguilera A.M., Escabias M. and Valderrama M.J. (2006). Using principal components for estimating logistic regression with high-dimensional multicollinear data. Computational Statistics & Data Analysis 50(8): 1905-1924.

Jolliffe I.T. (2002). Principal Component Analysis.

```alfa.pcr, alfapcr.tune ```

### Examples

```library(MASS)
x <- as.matrix(fgl[, 2:9])
y <- as.vector(fgl[, 1])
mod1 <- pcr(y, x, 1)
mod2 <- pcr(y, x, 2)
mod <- pcr(y, x, k = 1:4)  ## many results at once

x <- as.matrix(iris[, 1:4])
y<- rbinom(150, 1, 0.6)
mod<- glm.pcr(y, x, k = 1)
```

[Package Compositional version 5.2 Index]