# Class "hypothesesTree"

### Description

Class for performing hierarchical multiple testing corrections.

### Slots

`tree`

:Object of class

`"matrix"`

. The edgelist for the hypotheses tree.`p.vals`

:Object of class

`"data.frame"`

. Each row correpsonds to an individual hypothesis. The first column stores the p-values before GBH adjustment, while the second gives the hFDR adjusted p-values. The hypotheses are sorted in order of significance according to these GBH adjusted p-values. The`group`

column gives the group membership of each hypothesis, and`adj.significnace`

codes the significance of each hypothesis, according to the GBH adjusted p-values.`alpha`

:Object of class

`"numeric"`

. The level at which the FDR is controlled among children of each parent node.

### Methods

- initialize
`signature(.Object = "hypothesesTree")`

: ...

Check that the hypotheses tree is correctly initialized. It ensures that the number of unadjusted p-values, hypotheses names, and nodes in the hypotheses tree all agree. It also checks that the hypotheses tree is in fact a tree.

- plot
`signature(x = "hypothesesTree", y = "ANY")`

: ...

Plots the tree of hypotheses and their p-values either before or after adjustment. If a particular node hypothesis was not tested, it is colored grey. If it was tested and rejected, it is green; if it was tested and not rejected, it is shaded blue. The deeper the shade, the lower (more significant) the p-value was.

- show
`signature(object = "hypothesesTree")`

: ...

This prints the unadjusted and adjusted p-values of the hypotheses tree associated with the HFDR procedure.

- summary
`signature(object = "hypothesesTree")`

: This prints the most significant adjusted p-values, along with estimates of the FDR across the tree and at tips.

### Author(s)

Kris Sankaran

### See Also

`hFDR.adjust`

`EstimatedHFDRControl`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ```
library('igraph')
library('ape')
alternative.indices <- sample(1:49, 30)
unadj.p.values <- vector("numeric", length = 49)
unadj.p.values[alternative.indices] <- runif(30, 0, 0.01)
unadj.p.values[-alternative.indices] <- runif(19, 0, 1)
unadj.p.values[c(1:5)] <- runif(5, 0, 0.01)
names(unadj.p.values) <- paste("Hyp ", c(1:49))
tree <- as.igraph(rtree(25))
V(tree)$name <- names(unadj.p.values)
tree.el <- get.edgelist(tree)
hyp.tree <- hFDR.adjust(unadj.p.values, tree.el, 0.05)
plot(hyp.tree)
``` |