# 1 data <- read.table("E:\\staub.txt", header = TRUE) # a F <- function(k, n1, n2) { res <- 0 for (i in 2:k) { if (i %% 2 == 0) { res <- res + 2 * choose(n1-1, i/2-1) * choose(n2-1, i/2-1) / choose(n1+n2, n1) } else { res <- res + (choose(n1-1, (i-1)/2) * choose(n2-1, (i-1)/2-1) + choose(n1-1, (i-1)/2-1) * choose(n2-1, (i-1)/2)) / choose(n1+n2, n1) } } return(res) } # b berechneT <- function(x) { res <- 1 for (i in 2:length(x)) { res <- res + (x[i-1] != x[i]) } return(res) } raucher <- subset(data, dauer > 45)$raucher T <- berechneT(raucher) # c # exakter Test n1 <- sum(raucher) n2 <- length(raucher) - n1 FT <- F(T, n1, n2) alpha <- 0.05 if (FT < alpha) { print("H0 wird abgelehnt") } else { print("H0 wird nicht abgelehnt") } # approximativer Test p <- n1 / (n1 + n2) q <- 2 * (n1 + n2) * p * (1-p) + 2 * sqrt(n1+n2) * p * (1-p) * qnorm(alpha) if (T < q) { print("H0 wird abgelehnt") } else { print("H0 wird nicht abgelehnt") }