Learn R Programming

lava (version 1.9.3)

closed_testing: Closed testing procedure

Description

Given \(k\) hypotheses \(H_1, \ldots, H_k\) all \(2^k-1\) intersection hypotheses are calculated and adjusted p-values are obtained for \(H_j\) is calculated as the max \(p\)-value of all intersection hypotheses containing \(H_j\). Example, for \(k=3\), the adjusted \(p\)-value for \(H_1\) will be obtained from \(\{(H_1, H_2, H_3), (H_1,H_2), (H_1,H_3), (H_1)\}\).

Usage

closed_testing(object, test = test_wald, ...)

Arguments

object

estimate object

test

function that conducts hypothesis test. See details below.

...

Additional arguments passed to test

Details

The function test should be a function function(object, index, ...) which as its first argument takes an estimate object and with an argument index which is a integer vector specifying which subcomponents of object to test. The ellipsis argument can be any other arguments used in the test function. The function test_wald() is an example of valid test function (which has an additional argument null in reference to the above mentioned ellipsis arguments).

References

Marcus, R; Peritz, E; Gabriel, KR (1976). "On closed testing procedures with special reference to ordered analysis of variance". Biometrika. 63 (3): 655–660.

Examples

Run this code
m <- lvm()
regression(m, c(y1,y2,y3,y4)~x) <- c(0, 0.25, 0, 0.25)
regression(m, to=endogenous(m), from="u") <- 1
variance(m,endogenous(m)) <- 1
set.seed(1)
d <- sim(m, 200)
l1 <- lm(y1~x,d)
l2 <- lm(y2~x,d)
l3 <- lm(y3~x,d)
l4 <- lm(y4~x,d)

(a <- merge(l1, l2, l3, l4, subset=2))
if (requireNamespace("mets",quietly=TRUE)) {
   alpha_zmax(a)
}
adj <- closed_testing(a, test = test_wald, null = 0)
adj
adj$p.value
summary(adj)

Run the code above in your browser using DataLab