require(latticeExtra)
require(mosaic)
require(Hmisc)
require(kableExtra)
Example 6.7
set.seed(72389)
n <- 20
alpha <- .05
mu0 <- 500
sigma <- 100
m <- 10000 #number of replicates
p <- numeric(m) #storage for p-values
for (j in 1:m) {
x <- rnorm(n, mu0, sigma)
ttest <- t.test(x, alternative = "greater", mu = mu0)
p[j] <- ttest$p.value
}
q <- mean(p < alpha)
r <- sqrt(q * (1 - q) / m)
s <- rbind(c("p.hat", "se.hat"),c(round(q,4), round(r,4)))
kbl(s, caption = "Normal") %>%
kable_styling(bootstrap_options = "striped",
full_width = F)
Normal
|
p.hat
|
se.hat
|
|
0.0505
|
0.0022
|
set.seed(45234)
n <- 20
alpha <- .05
mu0 <- 500
sigma <- 100
m <- 10000 #number of replicates
p <- numeric(m) #storage for p-values
for (j in 1:m) {
x <- rchisq(n, mu0)
ttest <- t.test(x, alternative = "greater", mu = mu0)
p[j] <- ttest$p.value
}
p.hat <- mean(p < alpha)
se.hat <- sqrt(p.hat * (1 - p.hat) / m)
l <- rbind(c("p.hat", "se.hat"),c(round(p.hat,4), round(se.hat,4)))
kbl(l, caption = "chi square") %>%
kable_styling(bootstrap_options = "striped",
full_width = F)
chi square
|
p.hat
|
se.hat
|
|
0.0458
|
0.0021
|
n <- 20
m <- 1000
mu0 <- 500
sigma <- 100
mu <- c(seq(450, 650, 10)) #alternatives
M <- length(mu)
power <- numeric(M)
for (i in 1:M) {
mu1 <- mu[i]
pvalues <- replicate(m, expr = {
#simulate under alternative mu1
x <- rnorm(n, mean = mu1, sd = sigma)
ttest <- t.test(x,
alternative = "greater", mu = mu0)
ttest$p.value } )
power[i] <- mean(pvalues <= .05)
}
par(ask = TRUE)
plot(mu, power)
abline(v = mu0, lty = 1)
abline(h = .05, lty = 1)
lines(mu, power, lty=3)

detach(package:Hmisc)
par(ask = FALSE)