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:14] – [8] 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 316: Line 301:
 </WRAP> </WRAP>
  
-==== 2 ====+===== 2 =====
  
 <WRAP group> <WRAP group>
Line 357: Line 342:
 </WRAP> </WRAP>
  
-==== 3 ====+===== 3 =====
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
Line 396: Line 381:
 </WRAP> </WRAP>
  
-==== 4 ====+===== 4 =====
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
Line 439: Line 424:
 </WRAP> </WRAP>
  
-==== 5 ====+===== 5 =====
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
Line 505: Line 490:
 </WRAP> </WRAP>
  
-==== 6 ====+===== 6 =====
 <WRAP group> <WRAP group>
 <WRAP column half> <WRAP column half>
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>
 <code> <code>
- 
 > # 2 샘플 히스토그램을 이용해서 > # 2 샘플 히스토그램을 이용해서
 > # anova 설명하기  > # anova 설명하기 
Line 659: Line 643:
 +        col=c("green", "red"), lwd=2) +        col=c("green", "red"), lwd=2)
  
 +</code>
 +</WRAP>
 +<WRAP column half>
 +.....................................
 +{{:pasted:20250918-081521.png}}
 +</WRAP>
 +</WRAP>
 +
 +===== 9 =====
 +
 +<WRAP group>
 +<WRAP column half>
 +<code>
 > comb <- data.frame(s1,s2) > comb <- data.frame(s1,s2)
 > dat <- stack(comb) > dat <- stack(comb)
Line 678: Line 675:
 200 130.01417  s2 200 130.01417  s2
  
 +</code>
 +</WRAP>
 +<WRAP column half>
 +.....................................
 +</WRAP>
 +</WRAP>
 +===== 10 =====
 +<WRAP group>
 +<WRAP column half>
 +<code>
 > m.tot <- mean(s.all) > m.tot <- mean(s.all)
 > m.s1 <- mean(s1) > m.s1 <- mean(s1)
Line 696: Line 703:
 > ss.wit > ss.wit
 [1] 20984.43 [1] 20984.43
-+ss.bet+ss.wit 
 +[1] 25203.89
  
 > df.tot <- length(s.all) - 1 > df.tot <- length(s.all) - 1
Line 710: Line 718:
 > df.wit > df.wit
 [1] 198 [1] 198
 +> df.bet+df.wit
 +[1] 199
  
 +</code>
 +</WRAP>
 +<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>
 +
 +===== 11 =====
 +
 +<WRAP group>
 +<WRAP column half>
 +<code>
 > ss.tot/df.tot > ss.tot/df.tot
 [1] 126.6527 [1] 126.6527
- 
 > ms.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
Line 745: Line 779:
 > # the above is anova after all.  > # the above is anova after all. 
  
 +</code>
 +</WRAP>
 +<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>
 +
 +===== 12 =====
 +
 +<WRAP group>
 +<WRAP column half>
 +<code>
 > m1 <- lm(dat$values~dat$ind, data = dat) > m1 <- lm(dat$values~dat$ind, data = dat)
 > sum.m1 <- summary(m1) > sum.m1 <- summary(m1)
Line 785: Line 839:
  
  
- 
 </code> </code>
 </WRAP> </WRAP>
 <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.1758150887.txt.gz · Last modified: by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki