size <- 10^4
secs <- 60
rate <- 200
n <- size * secs * rate
set.seed(467119)
# Calculate 5th and 95th percentiles
ptile.05 <- numeric(secs * rate)
ptile.95 <- numeric(secs * rate)
for (i in 1:(secs * rate)) {
ptile.05[i] <- qbinom(.05, i, .5)
ptile.95[i] <- qbinom(.95, i, .5)
}
bin.mat <- matrix(rbinom(n, 1, .5), nrow=size)
cum.bin <- t(apply(bin.mat, 1, cumsum))
rm(bin.mat); gc()
# Check for lower excursions
any.lwr.sig <- apply(cum.bin, 1, function(x) any(x < ptile.05))
# Check for upper excursions
any.upr.sig <- apply(cum.bin, 1, function(x) any(x > ptile.95))
any.sig <- any.upr.sig | any.lwr.sig
(Mean <- mean(any.sig)) # .795
(SE <- sd(any.sig) / sqrt(size)) # .004