User Tools

Site Tools


t-test_summing_up

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
t-test_summing_up [2025/09/18 08:25] – [6] hkimscilt-test_summing_up [2025/09/18 08:45] (current) – [t-test summing up] hkimscil
Line 1: Line 1:
 ====== t-test summing up ====== ====== t-test summing up ======
 <code> <code>
- 
  
 rm(list=ls()) rm(list=ls())
Line 210: Line 209:
 dat <- stack(comb) dat <- stack(comb)
 head(dat) head(dat)
 +tail(dat)
  
 m.tot <- mean(s.all) m.tot <- mean(s.all)
Line 216: Line 216:
  
 ss.tot <- ss(s.all) ss.tot <- ss(s.all)
 +bet.s1 <- (m.tot - m.s1)^2 * length(s1)
 +bet.s2 <- (m.tot - m.s2)^2 * length(s2)
 +ss.bet <- bet.s1 + bet.s2
 ss.s1 <- ss(s1) ss.s1 <- ss(s1)
 ss.s2 <- ss(s2) ss.s2 <- ss(s2)
 +ss.wit <- ss.s1+ss.s2
  
-df.tot <- length(s.all)-1 +ss.tot
-df.s1 <- length(s1)-1 +
-df.s2 <- length(s2)-1 +
- +
-ms.tot <- var(s.all) +
-ms.tot +
-ss.tot/df.tot +
- +
-var(s1) +
-ss.s1 / df.s1 +
- +
-var(s2) +
-ss.s2 / df.s2 +
- +
-ss.b.s1 <- length(s1) * ((m.tot - m.s1)^2) +
-ss.b.s2 <- length(s2) * ((m.tot - m.s1)^2) +
-ss.bet <- ss.b.s1+ss.b.s2+
 ss.bet ss.bet
- 
-ss.wit <- ss.s1 + ss.s2 
 ss.wit ss.wit
 +ss.bet+ss.wit
  
-ss.bet + ss.wit +df.tot <- length(s.all) - 1 
-ss.tot+df.bet <- nlevels(dat$ind) - 1 
 +df.s1 <- length(s1)-1 
 +df.s2 <- length(s2)-1 
 +df.wit <- df.s1 + df.s2
  
-library(dplyr) +df.tot
-df.bet <- length(unique(dat)) - 1 +
-df.bet <- nlevels(dat$ind) - 1 +
-df.wit <- df.s1+df.s2+
 df.bet df.bet
 df.wit df.wit
 df.bet+df.wit df.bet+df.wit
-df.tot + 
 +ss.tot/df.tot 
 +ms.tot <- ss.tot/df.tot
  
 ms.bet <- ss.bet / df.bet ms.bet <- ss.bet / df.bet
 ms.wit <- ss.wit / df.wit ms.wit <- ss.wit / df.wit
-ms.bet 
-ms.wit 
  
 f.cal <- ms.bet / ms.wit f.cal <- ms.bet / ms.wit
 f.cal f.cal
 pf(f.cal, df.bet, df.wit, lower.tail = F) pf(f.cal, df.bet, df.wit, lower.tail = F)
- 
  
 f.test <-  aov(dat$values~ dat$ind, data = dat) f.test <-  aov(dat$values~ dat$ind, data = dat)
Line 273: Line 259:
 t.cal.ts t.cal.ts
  
-this is anova after all. +the above is anova after all. 
  
 m1 <- lm(dat$values~dat$ind, data = dat) m1 <- lm(dat$values~dat$ind, data = dat)
Line 287: Line 273:
 sum.m1$fstatistic[1] sum.m1$fstatistic[1]
 ms.bet/ms.wit ms.bet/ms.wit
- 
 </code> </code>
 ====== t-test summing up output ====== ====== t-test summing up output ======
Line 587: Line 572:
 </WRAP> </WRAP>
  
-==== 7 ====+===== 7 =====
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
Line 639: Line 624:
  
  
-==== 8 ====+===== 8 t-test and anova =====
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
Line 666: Line 651:
 </WRAP> </WRAP>
  
-==== 9 ====+===== 9 =====
  
 <WRAP group> <WRAP group>
Line 696: Line 681:
 </WRAP> </WRAP>
 </WRAP> </WRAP>
 +===== 10 =====
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
Line 740: Line 725:
 <WRAP column half> <WRAP column half>
 ............................. .............................
 +{{:pasted:20250918-081521.png}}
 +  * ss.between 은 두개의 집단과 그 집단의 평균으로 이루어진 분산에서의 ss값을 말한다.
 +  * 그림에서 녹색선 위에 s1의 원소들이 모여있고
 +  * 붉은색 선위에 s2원소들이 모여 있다고치면
 +  * 이 분산은 그룹간 분산이 (between group variance) 된다. 
 +  * 이를 구하기 위해서 ss.bet의 공식을 사용한다. 
 +  * ss.within의 경우에는 간단히 s1과 s2 집단의 ss값을 구하는 것으로
 +  * 스크립트 초반에 언급된 ss값을 이용해서 구한후 더한다. 
 +
 +  * df.between은 그룹의 숫자에서 1을 뺀 숫자
 +  * df.within은 각 그룹내의 구성원에서 1을 뺀 후, 모두 더한 숫자이다
 +  * df.total은 전체 구성원에서 1을 빼거나, df.bet + df.wit  를 더한 숫자
 </WRAP> </WRAP>
 </WRAP> </WRAP>
 +
 +===== 11 =====
 +
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
Line 783: Line 783:
 <WRAP column half> <WRAP column half>
 ............................. .............................
 +  * 위에서 구한 ss 값들을 가지고 분산값을 구할 수 있다 (ms = mean square = variance)
 +  * ms.between은 ss.bet/df.bet 값을 말하는 것으로 그룹이 나누어짐으로써 구할 수 있었던 분산이다. 이 부분은 그룹 때문에 생긴 (treatment때문에 생긴) 분산이다. 
 +  * ms.within은 ss.wit/df.wit 값을 말하는 것으로 그룹의 구성 때문에 구할 수 있었던 ss.between 를 제외한 나머지 ss값을 df.wit값으로 나누어준 값을 말한다. 이 부분이 random 파트이다.
 +  * 이 둘의 비율을 F값이라고 하고, 이는 기본적으로 
 +  * group difference 를 random difference 로 나눈 값을 말하고 이는 
 +  * t-test의 difference/random error와 같은 형태를 갖는다
 +
 +  * 따라서, 분산을 이용해서 구한 F값은 표준편차를 이용해서 구한 t값의 제곱값을 갖게 된다. 
 </WRAP> </WRAP>
 </WRAP> </WRAP>
 +
 +===== 12 =====
 +
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
Line 832: Line 843:
 <WRAP column half> <WRAP column half>
 ................................ ................................
 +  * ss.tot 은 s1그룹과 s2그룹의 값을 한줄에 배열하여 구하는 종속변인의 (dat$values) ss값을 말한다. 즉, 독립변이 없을 때의 종속변인의 uncertainty를 말한다. 
 +  * ss.bet은 독립변인이 고려됨으로써 설명된 종속부분의 일부를 말한다. 
 +  * ss.tot = ss.bet + ss.wit
 +  * total uncertainty (a) = treatment effect (b) + random effect 
 +  * b/a를 R square값이라고 부른다. 
 </WRAP> </WRAP>
 </WRAP> </WRAP>
  
  
t-test_summing_up.1758151558.txt.gz · Last modified: by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki