qpPAC {qpgraph}R Documentation

Estimation of partial correlation coefficients

Description

Estimates partial correlation coefficients (PACs) and their corresponding P-values in a given undirected graph, from an input data set.

Usage

## S4 method for signature 'ExpressionSet':
qpPAC(data, g, return.K=FALSE,
                                long.dim.are.variables=TRUE, verbose=TRUE,
                                R.code.only=FALSE)
## S4 method for signature 'data.frame':
qpPAC(data, g, return.K=FALSE,
                             long.dim.are.variables=TRUE, verbose=TRUE,
                             R.code.only=FALSE)
## S4 method for signature 'matrix':
qpPAC(data, g, return.K=FALSE,
                         long.dim.are.variables=TRUE, verbose=TRUE,
                         R.code.only=FALSE)

Arguments

data data set from where to estimate the partial correlation coefficients. It can be an ExpressionSet object, a data frame or a matrix.
g either a graphNEL object or an incidence matrix of the given undirected graph.
return.K logical; if TRUE this function also returns the concentration matrix K; if FALSE it does not return it (default).
long.dim.are.variables logical; if TRUE it is assumed that when data are in a data frame or in a matrix, the longer dimension is the one defining the random variables (default); if FALSE, then random variables are assumed to be at the columns of the data frame or matrix.
verbose show progress on the calculations.
R.code.only logical; if FALSE then the faster C implementation is used (default); if TRUE then only R code is executed.

Details

The estimation of PACs requires that the sample size n is strictly larger than the number of variables p. In the context of microarray data and regulatory networks, genes play the role of variables and thus normally p >> n. For this reason, we can estimate PACs from the edges of a regulatory network represented by an undirected graph G if and only if the maximum clique size of the graph, noted w(G), is strictly smaller than the sample size n (number of experiments in the microarray data context).

In the context of this package, the undirected graph should correspond to a qp-graph (see function qpGraph) we have selected by thresholding on the (average) non-rejection rate calculated from this same data set using the functions qpNrr or qpAvgNrr. If the resulting graph is sparse enough we may have a chance to meet the requirement of w(G) < n and the function qpClique can be useful to investigate this. In the context of transcriptional regulatory networks we may consider to remove edges between non-transcription factor genes which will substantially increase the sparseness of the network.

The PAC estimation is done by first obtaining a maximum likelihood estimate of the sample covariance matrix of the input data set using the {link{qpIPF} function and the P-values are calculated based on the estimation of the standard errors of the edges following the procedure by Roverato and Whittaker (1996).

Value

A list with two matrices, one with the estimates of the PACs and the other with their P-values.

Author(s)

R. Castelo and A. Roverato

References

Castelo, R. and Roverato, A. A robust procedure for Gaussian graphical model search from microarray data with p larger than n. J. Mach. Learn. Res., 7:2621-2650, 2006.

Castelo, R. and Roverato, A. Reverse engineering molecular regulatory networks from microarray data with qp-graphs. J. Comp. Biol., accepted, 2008.

Roverato, A. and Whittaker, J. Standard errors for the parameters of graphical Gaussian models. Stat. Comput., 6:297-302, 1996.

See Also

qpGraph qpCliqueNumber qpClique qpGetCliques qpIPF

Examples

nVar <- 50 # number of variables
maxCon <- 5  # maximum connectivity per variable
nObs <- 30 # number of observations to simulate

I <- qpRndGraph(n.vtx=nVar, n.bd=maxCon)
K <- qpI2K(I)

X <- qpSampleMvnorm(K, nObs)

nrr.estimates <- qpNrr(X, verbose=FALSE)

g <- qpGraph(nrr.estimates, 0.5)

pac.estimates <- qpPAC(X, g=g, verbose=FALSE)

# estimated partial correlation coefficients of the present edges
summary(abs(pac.estimates$R[upper.tri(pac.estimates$R) & I]))

# estimated partial correlation coefficients of the missing edges
summary(abs(pac.estimates$R[upper.tri(pac.estimates$R) & !I]))


[Package qpgraph version 1.0.0 Index]