# adjacency.polyReg: Adjacency matrix based on polynomial regression In WGCNA: Weighted Correlation Network Analysis

## Description

adjacency.polyReg calculates a network adjacency matrix by fitting polynomial regression models to pairs of variables (i.e. pairs of columns from `datExpr`). Each polynomial fit results in a model fitting index R.squared. Thus, the n columns of `datExpr` result in an n x n dimensional matrix whose entries contain R.squared measures. This matrix is typically non-symmetric. To arrive at a (symmetric) adjacency matrix, one can specify different symmetrization methods with `symmetrizationMethod`.

## Usage

 `1` ```adjacency.polyReg(datExpr, degree=3, symmetrizationMethod = "mean") ```

## Arguments

 `datExpr` data frame containing numeric variables. Example: Columns may correspond to genes and rows to observations (samples). `degree` the degree of the polynomial. Must be less than the number of unique points. `symmetrizationMethod` character string (eg "none", "min","max","mean") that specifies the method used to symmetrize the pairwise model fitting index matrix (see details).

## Details

A network adjacency matrix is a symmetric matrix whose entries lie between 0 and 1. It is a special case of a similarity matrix. Each variable (column of `datExpr`) is regressed on every other variable, with each model fitting index recorded in a square matrix. Note that the model fitting index of regressing variable x and variable y is usually different from that of regressing y on x. From the polynomial regression model glm(y ~ poly(x,degree)) one can calculate the model fitting index R.squared(y,x). R.squared(y,x) is a number between 0 and 1. The closer it is to 1, the better the polynomial describes the relationship between x and y and the more significant is the pairwise relationship between the 2 variables. One can also reverse the roles of x and y to arrive at a model fitting index R.squared(x,y). If `degree`>1 then R.squared(x,y) is typically different from R.squared(y,x). Assume a set of n variables x1,...,xn (corresponding to the columns of `datExpr` then one can define R.squared(xi,xj). The model fitting indices for the elements of an n x n dimensional matrix (R.squared(ij)). `symmetrizationMethod` implements the following symmetrization methods: A.min(ij)=min(R.squared(ij),R.squared(ji)), A.ave(ij)=(R.squared(ij)+R.squared(ji))/2, A.max(ij)=max(R.squared(ij),R.squared(ji)).

## Value

An adjacency matrix of dimensions ncol(datExpr) times ncol(datExpr).

## Author(s)

Lin Song, Steve Horvath

## References

Song L, Langfelder P, Horvath S Avoiding mutual information based co-expression measures (to appear).

Horvath S (2011) Weighted Network Analysis. Applications in Genomics and Systems Biology. Springer Book. ISBN: 978-1-4419-8818-8

For more information about polynomial regression, please refer to functions `poly` and `glm`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```#Simulate a data frame datE which contains 5 columns and 50 observations m=50 x1=rnorm(m) r=.5; x2=r*x1+sqrt(1-r^2)*rnorm(m) r=.3; x3=r*(x1-.5)^2+sqrt(1-r^2)*rnorm(m) x4=rnorm(m) r=.3; x5=r*x4+sqrt(1-r^2)*rnorm(m) datE=data.frame(x1,x2,x3,x4,x5) #calculate adjacency by symmetrizing using max A.max=adjacency.polyReg(datE, symmetrizationMethod="max") A.max #calculate adjacency by symmetrizing using max A.mean=adjacency.polyReg(datE, symmetrizationMethod="mean") A.mean # output the unsymmetrized pairwise model fitting indices R.squared R.squared=adjacency.polyReg(datE, symmetrizationMethod="none") R.squared ```

### Example output

```Loading required package: dynamicTreeCut

Attaching package: 'fastcluster'

The following object is masked from 'package:stats':

hclust

Attaching package: 'WGCNA'

The following object is masked from 'package:stats':

cor

[,1]       [,2]       [,3]       [,4]       [,5]
[1,] 1.00000000 0.37639250 0.38809508 0.06710897 0.03992240
[2,] 0.37639250 1.00000000 0.10450153 0.02432042 0.22661055
[3,] 0.38809508 0.10450153 1.00000000 0.15180594 0.03711863
[4,] 0.06710897 0.02432042 0.15180594 1.00000000 0.12209757
[5,] 0.03992240 0.22661055 0.03711863 0.12209757 1.00000000
[,1]       [,2]       [,3]       [,4]       [,5]
[1,] 1.00000000 0.36774615 0.35875698 0.06393387 0.03061947
[2,] 0.36774615 1.00000000 0.09958959 0.01946737 0.18913973
[3,] 0.35875698 0.09958959 1.00000000 0.09317340 0.02514151
[4,] 0.06393387 0.01946737 0.09317340 1.00000000 0.10881695
[5,] 0.03061947 0.18913973 0.02514151 0.10881695 1.00000000
[,1]       [,2]       [,3]       [,4]       [,5]
[1,] 1.00000000 0.35909981 0.32941887 0.06075878 0.03992240
[2,] 0.37639250 1.00000000 0.09467764 0.02432042 0.15166891
[3,] 0.38809508 0.10450153 1.00000000 0.03454087 0.03711863
[4,] 0.06710897 0.01461431 0.15180594 1.00000000 0.09553633
[5,] 0.02131654 0.22661055 0.01316439 0.12209757 1.00000000
```

WGCNA documentation built on March 1, 2021, 1:05 a.m.