13.12 Lab: Multiple Testing
Review of Hypothesis Tests
We begin by performing some one-sample t-tests using the t.test()
function.
First we create 100 variables, each consisting of 10 observations. The first 50 variables have mean 0.5 and variance 1, while the others have mean 0 and variance 1.
set.seed(6)
<- matrix(rnorm(10 * 100), 10, 100)
x 1:50] <- x[, 1:50] + 0.5 x[,
Calculate the t-test.
t.test(x[, 1], mu = 0)
##
## One Sample t-test
##
## data: x[, 1]
## t = 2.0841, df = 9, p-value = 0.06682
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.05171076 1.26242719
## sample estimates:
## mean of x
## 0.6053582
And with a for
we calculate the t-tests and the pvalues:
<- rep(0, 100)
p.values
for (i in 1:100)
<- t.test(x[, i], mu = 0)$p.value
p.values[i]
<- rep("Do not reject H0", 100)
decision <= .05] <- "Reject H0" decision[p.values
table(decision,
c(rep("H0 is False", 50), rep("H0 is True", 50))
)
##
## decision H0 is False H0 is True
## Do not reject H0 40 47
## Reject H0 10 3
Repeate the t-test:
<- matrix(rnorm(10 * 100), 10, 100)
x 1:50] <- x[, 1:50] + 1
x[,
for (i in 1:100)
<- t.test(x[, i], mu = 0)$p.value
p.values[i]
<- rep("Do not reject H0", 100)
decision <= .05] <- "Reject H0"
decision[p.values
table(decision,
c(rep("H0 is False", 50), rep("H0 is True", 50))
)
##
## decision H0 is False H0 is True
## Do not reject H0 9 49
## Reject H0 41 1