일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- categorical variable
- 통계학
- 선형회귀분석
- 우분투
- 통계
- 한서
- 기자
- 기자조선
- 한서지리지
- t test
- linear regression
- 창평
- 패수
- repeated measures ANOVA
- 낙랑군
- 태그를 입력해 주세요.
- spss
- 고구려
- 신라
- Histogram
- ANOVA
- 후한서
- 독사방여기요
- post hoc test
- 풍백
- 지리지
- 유주
- 단군
- 히스토그램
- R
- Today
- Total
獨斷論
Permutation t test 본문
# 두 개의 데이터가 있다고 가정
data1 <- c(500, 450, 600, 700, 550, 551, 552)
data2 <- c(560, 460, 620, 720, 540, 600, 750)
# 두 데이터의 평균의 차이
mean_diff_data12 = mean(data2) - mean(data1)
# Permutationt test 수행
data_combined = c(data1, data2) # 데이터를 합친후에
set.seed(1)
null_dist = c()
for(i in 1:100000) { # 100000번 반복
data_shuffled = sample(data_combined) # 샘플링한다
data_shuffled_1 = data_shuffled[1:7] # 순서대로 7개를 data1이라고 가정
data_shuffled_2 = data_shuffled[8:14] # 그 뒤 7개를 data2라고 가정
null_dist[i] = mean(data_shuffled_2) - mean(data_shuffled_1) # 새로운 두 데이터의 평균의 차이를 구함
}
# 샘플링한 데이터와 기존 데이터 비교
# 샘플링한 데이터의 평균의 차이가 기존 평균보다 큰 경우 수
p_right = sum(null_dist >= mean_diff_data12)
# 평균차이를 각각 음수를 취하여 작은 경우의 수를 구함. two-side test이기때문,
p_left = sum(null_dist <= -mean_diff_data12)
# 위에서 구한 두 경우의 수를 전체 샘플수로 나누어 확률을 구함
p_value = (p_right + p_left) / length(null_dist)
print(p_value)
# by stat package
t.test(data1, data2)
# permutation t test by MKinfer package
library(MKinfer)
perm.t.test(data1, data2)