I'm asked to write an introduction to statistics and I'm struggling how to graphically show the way p-value and power relate. I've come up with this graph:
My question: Is there a better way of displaying this?
Here is my R code
x <- seq(-4, 4, length=1000)
hx <- dnorm(x, mean=0, sd=1)
plot(x, hx, type="n", xlim=c(-4, 8), ylim=c(0, 0.5),
ylab = "",
xlab = "",
main= expression(paste("Type II (", beta, ") error")), axes=FALSE)
axis(1, at = c(-qnorm(.025), 0, -4),
labels = expression("p-value", 0, -infinity ))
shift = qnorm(1-0.025, mean=0, sd=1)*1.7
xfit2 <- x + shift
yfit2 <- dnorm(xfit2, mean=shift, sd=1)
# Print null hypothesis area
col_null = "#DDDDDD"
polygon(c(min(x), x,max(x)), c(0,hx,0), col=col_null)
lines(x, hx, lwd=2)
# The alternative hypothesis area
## The red - underpowered area
lb <- min(xfit2)
ub <- round(qnorm(.975),2)
col1 = "#CC2222"
i <- xfit2 >= lb & xfit2 <= ub
polygon(c(lb,xfit2[i],ub), c(0,yfit2[i],0), col=col1)
## The green area where the power is
col2 = "#22CC22"
i <- xfit2 >= ub
polygon(c(ub,xfit2[i],max(xfit2)), c(0,yfit2[i],0), col=col2)
# Outline the alternative hypothesis
lines(xfit2, yfit2, lwd=2)
axis(1, at = (c(ub, max(xfit2))), labels=c("", expression(infinity)),
col=col2, lwd=1, lwd.tick=FALSE)
legend("topright", inset=.05, title="Color",
c("Null hypoteses","Type II error", "True"), fill=c(col_null, col1, col2), horiz=FALSE)
abline(v=ub, lwd=2, col="#000088", lty="dashed")
arrows(ub, 0.45, ub+1, 0.45, lwd=3, col="#008800")
arrows(ub, 0.45, ub-1, 0.45, lwd=3, col="#880000")
Update
Thank you for the terrific answers. I've changed some of the code:
# Print null hypothesis area
col_null = "#AAAAAA"
polygon(c(min(x), x,max(x)), c(0,hx,0), col=col_null, lwd=2, density=c(10, 40), angle=-45, border=0)
lines(x, hx, lwd=2, lty="dashed", col=col_null)
...
legend("topright", inset=.015, title="Color",
c("Null hypoteses","Type II error", "True"), fill=c(col_null, col1, col2),
angle=-45,
density=c(20, 1000, 1000), horiz=FALSE)
I like the dashed, slightly vague picture of the null hypothesis because it signals that it's not truly there. I've thought about the transparency and adding the alfa but I worry about getting too much information into one picture and have therefore chosen not to.
The limitations of printed articles doesn't allow me to do let the readers experiment. I've chosen the @Greg Snow's reply with TeachingDemos as my answer since I love the idea with the two errors not overlapping.