Du kan skrive din egen funktion baseret på det, vi ved om mekanikken i to-prøve $ t $ -test. For eksempel vil dette gøre jobbet:
# m1, m2: prøven betyder # s1, s2: prøve standardafvigelser # n1, n2: de samme størrelser # m0: nullværdien for forskellen i midler, der skal testes for. Standard er 0. # equal.variance: om man skal antage lige varians eller ej. Standard er FALSE. t.test2 <- funktion (m1, m2, s1, s2, n1, n2, m0 = 0, equal.variance = FALSE) {if (equal.variance == FALSE) {se <- sqrt ((s1 ^ 2 / n1) + (s2 ^ 2 / n2)) # welch-satterthwaite df df <- ((s1 ^ 2 / n1 + s2 ^ 2 / n2) ^ 2) / ((s1 ^ 2 / n1) ^ 2 / (n1 -1) + (s2 ^ 2 / n2) ^ 2 / (n2-1))} ellers {# samlet standardafvigelse, skaleret efter prøvestørrelserne se <- sqrt ((1 / n1 + 1 / n2) * (( n1-1) * s1 ^ 2 + (n2-1) * s2 ^ 2) / (n1 + n2-2)) df <- n1 + n2-2} t <- (m1-m2-m0) / se dat <- c (m1-m2, se, t, 2 * pt (-abs (t), df)) navne (dat) <- c ("Forskel mellem midler", "Std-fejl", "t", "p -værdi ") return (dat)}
Eksempel på brug:
set.seed (0) x1 <- rnorm (100) x2 <- rnorm (200) # du finder dette output stemmer overens med det for t.test når du indtaster x1, x2 (tt2 <- t.test2 (middel (x1), middel (x2), sd (x1), sd (x2) , længde (x1), længde (x2))) Forskel på middelværdi Std-fejl t p-værdi -0.05692268 0.12192273 -0.46687500 0.64113442
Dette matcher resultatet af t.test
:
(tt < - t.test (x1, x2)) # Welch to eksempler t-test # # data: x1 og x2 # t = 0.10427, df = 223.18, p-værdi = 0.917 # alternativ hypotese: sand forskel i middel er ikke lig med 0 # 95 procent konfidensinterval: # -0.2118062 0.2354734 # prøveestimater: # gennemsnit af x gennemsnit af y # 0.02266845 0.01083487 tt $ statistik == tt2 [["t"]] # t
# SAND tt $ p.value == tt2 [["p-værdi"]] # [1] SAND