diff --git a/Projekt_1/Projekt_1.R b/Projekt_1/Projekt_1.R index 1a53178..6d03f9b 100644 --- a/Projekt_1/Projekt_1.R +++ b/Projekt_1/Projekt_1.R @@ -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 diff --git a/Projekt_1/T-student-multiple-paired.R b/Projekt_1/T-student-multiple-paired.R new file mode 100644 index 0000000..fa1d844 --- /dev/null +++ b/Projekt_1/T-student-multiple-paired.R @@ -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') + + diff --git a/Projekt_1/T-student-single.R b/Projekt_1/T-student-single.R index 50af074..d999b3a 100644 --- a/Projekt_1/T-student-single.R +++ b/Projekt_1/T-student-single.R @@ -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') - diff --git a/Projekt_1/T-studnet-multiple.R b/Projekt_1/T-studnet-multiple.R index 65c356a..bc5e5e0 100644 --- a/Projekt_1/T-studnet-multiple.R +++ b/Projekt_1/T-studnet-multiple.R @@ -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') - diff --git a/README.md b/README.md index 7e17446..e218a31 100644 --- a/README.md +++ b/README.md @@ -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 \ No newline at end of file +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) +