qpAnyGraph {qpgraph} | R Documentation

## A graph

### Description

Obtains an undirected graph from a matrix of pairwise measurements

### Usage

    qpAnyGraph(measurementsMatrix, threshold=NA_real_, remove=c("below", "above"),
               topPairs=NA_integer_, decreasing=TRUE, pairup.i=NULL, pairup.j=NULL)

### Arguments

`measurementsMatrix` | matrix of pairwise measurements.
`threshold` | threshold on the measurements below or above which pairs of variables are assumed to be disconnected in the resulting graph.
`remove` | direction of the removal with the threshold. It should be either `"below"` (default) or `"above"`.
`topPairs` | number of edges from the top of the ranking, defined by the pairwise measurements in `measurementsMatrix`, to use to form the resulting graph. This parameter is incompatible with a value different from `NULL` in `threshold`.
`decreasing` | logical, only applies when topPairs is set; if `TRUE` then the ranking is made in decreasing order; if `FALSE` then is made in increasing order.
`pairup.i` | subset of vertices to pair up with subset `pairup.j`
`pairup.j` | subset of vertices to pair up with subset `pairup.i`

### Details

This is a general purpose function for thresholding a matrix of pairwise measurements to select pairs of variables corresponding to selected edges in an undirected graph.

### Value

The resulting undirected graph as a `graphBAM` object. Note that when some gold-standard graph is available for comparison, a value for the parameter `threshold` can be found by calculating a precision-recall curve with `qpPrecisionRecall` with respect to this gold-standard, and then using `qpPRscoreThreshold`. Parameters `threshold` and `topPairs` are mutually exclusive, that is, when we specify with `topPairs=n` that we want a graph with `n` edges then `threshold` cannot be used.

### 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.

### See Also

`qpNrr` `qpAvgNrr` `qpEdgeNrr` `qpGraph` `qpGraphDensity` `qpClique` `qpPrecisionRecall` `qpPRscoreThreshold`

### Examples

    require(mvtnorm)
    require(graph)

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

    set.seed(123)

    A <- qpRndGraph(p=nVar, d=maxCon)
    Sigma <- qpG2Sigma(A, rho=0.5)
    X <- rmvnorm(nObs, sigma=as.matrix(Sigma))

    ## estimate Pearson correlations
    pcc.estimates <- qpPCC(X)

    ## the higher the threshold
    g <- qpAnyGraph(abs(pcc.estimates$R), threshold=0.9,
                    remove="below")

    ## the sparser the qp-graph
    numEdges(g) / choose(numNodes(g), 2)

    ## the lower the threshold
    g <- qpAnyGraph(abs(pcc.estimates$R), threshold=0.5,
                    remove="below")

    # the denser the graph
    numEdges(g) / choose(numNodes(g), 2)

[Package qpgraph version 2.20.0 Index]