t-student-multi-paried
This commit is contained in:
parent
19dac7d7e2
commit
8b9722c606
@ -6,7 +6,7 @@ load("Hamulce.RData")
|
||||
attach(Hamulce)
|
||||
mean(Wynik)
|
||||
t.test(Wynik,mu=18.6,alternative='less')
|
||||
boot.t.test(Wynik,mu=18.6,alternative='less', R = 100)
|
||||
boot.t.test(Wynik,mu=18.6,alternative='less', R = 200)
|
||||
|
||||
par(mfrow=c(1,2))
|
||||
|
||||
@ -31,59 +31,6 @@ tapply(Blad,Kod,var)
|
||||
var.test(Blad~Kod)
|
||||
t.test(Blad~Kod,var.equal=T,alternative='less')
|
||||
|
||||
# tTest dla dwoch prób-------------------------------------------------------------------
|
||||
#wariancj
|
||||
|
||||
#podiał danych tak by tam gdzie jest 1 w blad był jeden zdbió® i tam gdzier 2 był drugi zbiór
|
||||
|
||||
x <- Bledy$Blad
|
||||
y <- Bledy$Kod
|
||||
|
||||
var1 <- var(x)
|
||||
var2 <- var(y)
|
||||
|
||||
#m0 i alpha- będzie przekazen w funcki
|
||||
m0 <- 0
|
||||
alpha = 0.05
|
||||
|
||||
m1 <- mean(x)
|
||||
m2 <- mean(y)
|
||||
n1 <- length(x)
|
||||
n2 <- length(y)
|
||||
|
||||
sigma1 <- sqrt(n1)
|
||||
sigma2 <- sqrt(n2)
|
||||
|
||||
# odchulylenie standardowe
|
||||
S <- sqrt((var1/n1)+(var2/n2))
|
||||
|
||||
#Test statistic used to compute the p-value.
|
||||
statistic <- (m1 - m2 - m0) / S
|
||||
|
||||
alternative = "less"
|
||||
|
||||
#p wartość
|
||||
p <- if (alternative == "two.sided") {
|
||||
2 * pnorm(abs(statistic), lower.tail = FALSE)
|
||||
} else if (alternative == "less") {
|
||||
pnorm(statistic, lower.tail = TRUE)
|
||||
} else {
|
||||
pnorm(statistic, lower.tail = FALSE)
|
||||
}
|
||||
|
||||
LCL <- (m1 - m2 - S * qnorm(1 - alpha / 2))
|
||||
UCL <- (m1 - m2 + S * qnorm(1 - alpha / 2))
|
||||
|
||||
value <- list(mean1 = m1, mean2 = m2, m0 = m0, sigma1 = sigma1, sigma2 = sigma2, S = S, statistic = statistic, p.value = p, LCL = LCL, UCL = UCL)
|
||||
var1
|
||||
var2
|
||||
|
||||
value
|
||||
|
||||
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
#dwie próby zależne
|
||||
|
48
Projekt_1/T-student-multiple-paired.R
Normal file
48
Projekt_1/T-student-multiple-paired.R
Normal file
@ -0,0 +1,48 @@
|
||||
library('MKinfer')
|
||||
library(boot)
|
||||
|
||||
t.test_multiple_paried <- function(x, m0=0, alternative = "two.sided") {
|
||||
M <- mean(x)
|
||||
n <- length(x)
|
||||
#warianncja
|
||||
V <- var(x)
|
||||
sigma <- sqrt(V)
|
||||
S <- sqrt(V / n)
|
||||
statistic <- (M - m0) / S
|
||||
p <- if (alternative == "two.sided") {
|
||||
2 * pt(q=abs(statistic), df=length(x)-1, lower.tail=FALSE)
|
||||
} else if (alternative == "less") {
|
||||
pt(q=statistic, df=length(x)-1, lower.tail = TRUE)
|
||||
} else {
|
||||
pt(q=statistic, df=length(x)-1, lower.tail = FALSE)
|
||||
}
|
||||
|
||||
value <- list(mean = M, m0 = m0, statistic = statistic, p.value = p, alternative = alternative)
|
||||
return(value)
|
||||
}
|
||||
|
||||
|
||||
#dwie próby zależne
|
||||
load("Cisnienie.RData")
|
||||
attach(Cisnienie)
|
||||
mean(Po-Przed)
|
||||
|
||||
#t.test(Po-Przed,mu=0,alternative='less')
|
||||
size <- length(Cisnienie)
|
||||
|
||||
#jest git
|
||||
#dane zwykłe
|
||||
# funkcja wbudowana
|
||||
t.test(Cisnienie$Po-Cisnienie$Przed,mu=0,alternative='less')
|
||||
#nasza funkcja
|
||||
t.test_multiple_paried(Cisnienie$Po-Cisnienie$Przed,m0=0,alternative='less')
|
||||
|
||||
# jest różnica w p-wartości!!!
|
||||
#dane zbootstrpowane
|
||||
bootstrappedData_Cisnienie <- ourBoot(Cisnienie$Po-Cisnienie$Przed, 200, size)
|
||||
# funkcja wbudowana
|
||||
t.test(bootstrappedData_Cisnienie,mu=0,alternative='less')
|
||||
#nasza funkcja
|
||||
t.test_multiple_paried(bootstrappedData_Cisnienie,m0=0,alternative='less')
|
||||
|
||||
|
@ -2,7 +2,6 @@ t.test_single <- function(x, m, alternative = "two.sided") {
|
||||
M <- mean(x)
|
||||
n <- length(x)
|
||||
statistic <- ((M - m) / sd(x)) * sqrt(n)
|
||||
|
||||
p <- if (alternative == "two.sided") {
|
||||
2 * pt(q=abs(statistic), df=length(x)-1, lower.tail=FALSE)
|
||||
} else if (alternative == "less") {
|
||||
@ -18,9 +17,23 @@ t.test_single <- function(x, m, alternative = "two.sided") {
|
||||
|
||||
load("Hamulce.RData")
|
||||
attach(Hamulce)
|
||||
|
||||
size_Hamulce <- length(Hamulce$Wynik)
|
||||
|
||||
bootstrappedData_Wynik <- ourBoot(Hamulce$Wynik, 200, size_Hamulce)
|
||||
|
||||
# p-wartość jest inna
|
||||
# funkcja wbudowana
|
||||
t.test(bootstrappedData_Wynik,mu=18.6,alternative='less')
|
||||
# nasza funkcja
|
||||
t.test_single(bootstrappedData_Wynik, m=18.6, alternative='less')
|
||||
|
||||
|
||||
#jest git
|
||||
# funkcja wbudowana
|
||||
t.test(Wynik,mu=18.6,alternative='less')
|
||||
# nasza funkcja
|
||||
t.test_single(Wynik, m=18.6, alternative='less')
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
|
||||
#jest git
|
||||
t.test_multiple <- function(x, y, m0=0, alternative = "two.sided") {
|
||||
M1 <- mean(x)
|
||||
M2 <- mean(y)
|
||||
@ -24,9 +26,23 @@ t.test_multiple <- function(x, y, m0=0, alternative = "two.sided") {
|
||||
load("Bledy.RData")
|
||||
attach(Bledy)
|
||||
|
||||
t.test(x=Blad, y=Kod,var.equal=T,alternative='less')
|
||||
size_Bledy <- length(Bledy$Blad)
|
||||
|
||||
bootstrappedData_Bledy_Blad <- ourBoot(Bledy$Blad, 200, size_Bledy)
|
||||
bootstrappedData_Bledy_Kod <- ourBoot(Bledy$Kod, 200, size_Bledy)
|
||||
|
||||
|
||||
|
||||
#dane zbootstrapowane
|
||||
#funkcja wbudowana
|
||||
t.test(x=bootstrappedData_Bledy_Blad, y=bootstrappedData_Bledy_Kod,var.equal=T,alternative='less')
|
||||
# nasza funkcja
|
||||
t.test_multiple(x=bootstrappedData_Bledy_Blad, y=bootstrappedData_Bledy_Kod, alternative='less')
|
||||
|
||||
#dane normalne
|
||||
#funkcja wbudowana
|
||||
t.test(x=Blad, y=Kod,var.equal=T,alternative='less')
|
||||
# nasza funkcja
|
||||
t.test_multiple(x=Blad, y=Kod, alternative='less')
|
||||
|
||||
|
||||
|
||||
|
@ -35,4 +35,9 @@ Pozdrawiam,
|
||||
Bartosz Naskręcki
|
||||
|
||||
|
||||
Link do strony: https://statsandr.com/blog/student-s-t-test-in-r-and-by-hand-how-to-compare-two-groups-under-different-scenarios/#how-to-compute-students-t-test-in-r
|
||||
Link do strony: https://statsandr.com/blog/student-s-t-test-in-r-and-by-hand-how-to-compare-two-groups-under-different-scenarios/#how-to-compute-students-t-test-in-r
|
||||
|
||||
Test T-Student-single -> dla danych zwykłych działa, dla bootsrapowych daje inną p-wartośc (reszta ok)
|
||||
Test T-Student-multiple -> działa dobrze dla zwykłych danych i bootstapowych
|
||||
Test T-Student-multiple-paried -> dla danych zwykłych działa, dla bootsrapowych daje inną p-wartośc (reszta ok)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user