일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- R
- 선형회귀분석
- 기자
- Histogram
- 단군
- 후한서
- 우분투
- categorical variable
- 통계학
- 독사방여기요
- 기자조선
- 지리지
- 신라
- 한서
- 통계
- post hoc test
- 낙랑군
- 히스토그램
- repeated measures ANOVA
- spss
- 태그를 입력해 주세요.
- 유주
- 한서지리지
- 패수
- ANOVA
- t test
- 풍백
- 고구려
- 창평
- linear regression
- 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)