x <- c(0.8,1.1,1.2,1.4) ## Ein-Stichproben-t-Test mit Nullhypothese mu=0, zweiseitig: t.test(x) ## Der selbe Test schrittweise durchgerechnet, um ## Zwischenergebnisse zu erhalten: n <- length(x) mx <- mean(x) vx <- sum((x-mx)^2)/(n-1) sx <- sqrt(vx) sx sx <- sd(x) # ergibt das selbe sx semx <- sx/sqrt(n) ## standardfehler t <- (mx-0)/semx ## t-Wert t 2*pt(abs(t),df=n-1,lower.tail=FALSE) ## p-Wert ## Vergleichswert fuer t-Wert aus Quantiltafel bei zweiseitigem ## Testen mit alpha=5%: qt(0.975,df=n-1) ## Jetzt fuer Nullhypothese mu=2: t.test(x,mu=2) ## schrittweise zunaechst wie oben, aber dann: t <- (mx-2)/semx ## t-Wert t 2*pt(abs(t),df=n-1,lower.tail=FALSE) ## p-Wert ## Einseitiges Test am Beispiel des Ein-Stichprobentests mit ## Nullhypothese mu mindestens 2, d.h. Alternativhypothese mu<2: t.test(x,mu=2,alternative="less") ## schrittweise wie vorher, aber dann: pt(abs(t),df=n-1,lower.tail=FALSE) ## oder (da hier t<0): pt(t,df=n-1) ## Zwei-Stichproben-t-Tests: ## zweite Stichprobe: y <- c(0.6, 0.8, 0.9, 1.1) ## gepaarter Test: dann (und nur dann) sinnvoll, wenn die Werte als ## (x,y)-Paare kommen, also (0.8,0.6), (1.1,0.8), (1.2,0.9), (1.4,1.1). ## Den gepaarten t-Test kann man mit dem Befehl t.test auf zwei verschiedene ## Arten durchfuehren und erhalten das selbe Ergebnis: t.test(x,y,paired=TRUE) t.test(x-y) ## Die schrittweise Durchfuehrung mit Zwischenergebnissen geht einfach ## als ein-Stichprobe-t-Test mit den Differenzen x-y mit Nullhypothese ## mu=0. d <- x-y n <- length(d) mean(d) sd(d) (sem <- sd(d)/sqrt(n)) (t <- mean(d)/sem) abs(t) ## Absolutbetrag, also ggf. "das Minus weglassen". 2*pt(abs(t),df=n-1,lower.tail=FALSE) ## ungepaarter t-Test, der gleiche Varianzen voraussetzt: t.test(x,y,var.equal=TRUE) ## Schrittweise Durchfuehrung mit Zwischenergebnissen: mean(x)-mean(y) nx <- length(x) ny <- length(y) (v <- ((nx-1)*var(x)+(ny-1)*var(y))/(nx+ny-2)) ## obige gepoolte Stichprobenvarianz kann man auch so berechnen: sum((x-mean(x))^2+(y-mean(y))^2)/(nx+ny-2) sem <- sqrt(v)*sqrt(1/nx+1/ny) (t <- (mean(x)-mean(y))/sem) 2*pt(abs(t),df=(nx+ny-2),lower.tail=FALSE) ## Welch-t-Test, also ungepaarter zwei-Stichproben-t-Test, bei dem ## die Varianzen ungleich sein koennen: t.test(x,y) ## Schrittweise mit Zwischenergebnissen: nx <- length(x) ny <- length(y) semx <- sd(x)/sqrt(nx) semy <- sd(y)/sqrt(ny) sem <- sqrt(semx^2+semy^2) (t <- (mean(x)-mean(y))/sem) (fg <- (semx^2+semy^2)^2/(semx^4/(nx-1)+semy^4/(ny-1))) ## Freiheitgrade 2*pt(abs(t),df=fg,lower.tail=FALSE) ## natuerlich kann man auch zwei-Stichproben-t-tests einseitig durchfuehren, ## z.B. mit Nullhypothese dass der Mittelwert von x kleiner oder gleich ## dem Mittelwert von y ist, als der Alternativhypothese, dass x-y einen ## positiven Mittelwert hat. t.test(x,y,alternative="greater") ## Schrittweise wie oben, aber am Ende so: pt(abs(t),df=fg,lower.tail=FALSE)