Type: Package
Title: Generalised Linear Step-Up Procedure for Multiple Hypothesis Testing
Version: 1.0.0
Maintainer: Toby Kenney <tkenney@mathstat.dal.ca>
Description: Performs the Generalised Linear Step-up Procedure (GLSUP) with a flexible user-defined sizing function. Functions are also available for creating common sizing functions.
License: GPL-3
Encoding: UTF-8
Imports: graphics
NeedsCompilation: no
Packaged: 2026-04-08 21:29:37 UTC; tkenney
Author: Toby Kenney [aut, cre]
Repository: CRAN
Date/Publication: 2026-04-15 13:00:40 UTC

Generalised Linear Step-Up Procedure (GLSUP)

Description

Performs variable selection, allowing the selection of sets of surrogates using the GLSUP method for FDR control. This allows selection of sets of variables from a hierarchical clustering of the predictors.

Usage

GLSUP(pvals,sizing,threshold)

## S3 method for class 'GLSUP'
print(x,...)
## S3 method for class 'GLSUP'
plot(x,...)

Arguments

pvals

The p-values of the hypothesis tests

sizing

The sizing function. Given a permutation of the hypotheses, this should calculate the sizing of every initial subset of the permutation.

threshold

The GLSUP rejects as many hypotheses as possible such that the p-values are all less than the sizing function of the rejected hypothesis divided by this threshold.

x

The GLSUP object to be printed or plotted.

...

Additional graphics or printing parameters. The graphics parameters are passed to other functions. For print.GLSUP, any additional parameters are ignored.

Details

The GLSUP method

Value

An object of class "GLSUP" which contains the following components "pv" The p-values sorted in ascending order "sizing" The sizing function applied to the smallest p-values "rejected" A logical vector indicating whether each hypothesis is rejected "pv.cut.off" The p-value cut-off below which hypotheses are rejected "cut.off.slope" The threshold parameter given to the function

Author(s)

Toby Kenney

References

Setwise Hierarchical Variable Selection and the Generalized Linear Step-Up Procedure for False Discovery Rate Control

Sarah Organ, Toby Kenney, Hong Gu

http://arxiv.org/abs/2603.02160

Examples

set.seed(1)
pv<-rbeta(31,1,5)
parents<-c(NA,rep(seq_len(15),each=2)) # perfect binary tree
weights<-2^-c(5,rep(4,2),rep(3,4),rep(2,8),rep(1,16))

sizing<-minimal.weights.forest(weights,parents)

ans<-GLSUP(pv,sizing,sum(weights)*20) # threshold under PRDS 

print(ans)
plot(ans)

Cumulative sum-of-minimal-weights sizing function

Description

Calculates the sum-of-minimal-weights sizing function for the initial elements of a hierarchical tree.

Usage

minimal.weights.forest(weights,parents)
minimal.weights.poset(weights,poset)
sizing.BH(ord)
sizing.wBH(weights)

Arguments

weights

A vector of weights.

parents

A vector giving the index of the parent node for each node in the hierarchical tree or forest (NA for root nodes).

poset

An object of class poset, representing a partial order in the form of a list with two components:

covers — list of lists of elements covered by each element.

inc.order — a total order on the elements consistent with the partial order.

ord

A permutation

Details

Three of these functions generate sizing functions based on their parameters, for use with the GLSUP function. the sizing.BH function can be used directly as a sizing function, as it does not depend on any parameters.

sizing.BH uses the cardinality as the sizing function.

sizing.wBH uses the sum of weights of selected elements as sizing function.

minimal.weights.poset uses the sum of weights of all minimal elements in the sub-partial order consisting of selected elements.

minimal.weights.forest is the same as minimal.weights.poset in the special case where the partial order is a hierarchical forest with root as top element in each tree. In this case, the sizing function can be made more computationally efficient.

Value

A sizing function that can be used with GLSUP. Sizing functions take a permutation as input and return the appropriate sizing function applied to the initial entries of the permutation.

Author(s)

Toby Kenney

References

Setwise Hierarchical Variable Selection and the Generalized Linear Step-Up Procedure for False Discovery Rate Control

Sarah Organ, Toby Kenney, Hong Gu

http://arxiv.org/abs/2603.02160

Examples

set.seed(1)
parents<-c(NA,rep(seq_len(15),each=2)) # perfect binary tree
weights<-2^-c(5,rep(4,2),rep(3,4),rep(2,8),rep(1,16)) #weighted by
                                                      #no. of leaves
sizing<-minimal.weights.forest(weights,parents)

sizing(seq_len(31))