Programing/R- programming

R - 반복측정(paired) 자료의 분석

sosal 2015. 10. 30. 19:25
반응형


/*

 http://sosal.kr/
 * made by so_Sal
 */



반복측정 자료 (짝지은 자료)


 - 동일한 대상자에 대하여 어떤 사건 전과 사건 후의 측정-재측정 (반복측정) 자료의 분석

 - 짝지은 환자 대조군 연구: 한 환자에 대해 환자가 아닌 비교군을 짝지은 경우의 분석




예)

 - 동일한 사람의 신체 두 부위 비교

 - 유전적 일치성을 가진 대상에서 질병 or 요인을 볼 때

 - 다른 대상이지만 결과에 영향을 주는 교란요인을 동일하게 하기 위해 짝을 짓는 경우

 - 허리 통증이 있는 환자에게 진통제 투여는 효과가 있는가?



* Paired T-test

- 치료 전과 치료 후의 difference를 보기위함

짝지어진 값들 간 차이(Difference)를 구한 후, 차이의 평균=0 인지 검정

독립표본 T-test 보다 검정력이 더 높다. (검정방법은 한 집단이 평균 비교와 동일함)


차이 값들의 분포가 정규분포이거나, 대상 수가 많아야 한다 (모수적 분석)

그렇지 않다면 Wilkoxon signed rank test를 해야함.

(독립표본인 경우에는 rank sum test)



paired t-test 결과




(실제로 페이퍼에 쓸땐 .000 이 아닌,  <.001  으로 써야함)

대응표본 검정값에서 평균과 표준편차는 차이값에 대한 평균과 표준편차에 대한 이야기다.

유의확률  < .001 이기 때문에 매우 유의하게 다르다는 것을 알 수 있다.



Before = c(12.9, 13.5, 12.8, 15.6, 17.2, 19.2, 12.6, 15.3, 14.4, 11.3)
After = c(12.7, 13.6, 12.0, 15.2, 16.8, 20.0, 12.0, 15.9, 16.0, 11.1)


t.test(Before,After, paired=TRUE)

        Paired t-test

data:  Before and After
t = -0.21331, df = 9, p-value = 0.8358
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.5802549  0.4802549
sample estimates:
mean of the differences
                  -0.05


귀무가설 H0: 치료 전과 후는 차이가 없다. (difference는 0이다)

대립가설 H1: 치료 전과 후는 차이가 있다. (difference가 0이 아니다)

p-valaue가 0.8358 이므로 대립가설은 기각, 따라서 치료 전과 후는 차이가 없다는 귀무가설 채택.




* McNemar test

Chi-square test 처럼 설명변수과 종속변수가 이분 변수일 때, 독립성 검정처럼 검정하는 방법. 하지만 아래 표에서 chi-square test는 a,b,c,d 모두 사용하지만, McNemar test에서는 b, c만 사용한다.



ex)

myTest <- matrix(c(794, 86, 150, 570), nrow = 2,
       dimnames = list("Before" = c("통증 있음", "통증 없음"),
                       "After"  = c("통증 있음", "통증 없음")))


mcnemar.test(myTest)

        McNemar's Chi-squared test with continuity correction

data:  myTest
McNemar's chi-squared = 16.818, df = 1, p-value = 4.115e-05


귀무가설 H0: 치료 전과 후는 차이가 없다. (difference는 0이다)

대립가설 H1: 치료 전과 후는 차이가 있다. (difference가 0이 아니다)

p-value가 0.05 이하이므로 귀무가설은 기각. 따라서 치료 전과 후는 차이가 있다는 대립가설을 채택




* 일치도 분석

- 비연속 변수

일치율: Overall % agreement


관심있는 변수: a, d : for concordance

양성일치율 PPA(positive percent agreement)=a/(a+c)*100
음성일치율 NPA(negative percent agreement )=d/(b+d)*100


"양성일치율과 음성일치율은 적절한 지표는 아니다"





-> 따라서 McNemar test는 차이성 검정으론 적합하지만, 일치도 검정에서는 적합하지 않다.




* Cohen's Kappa index


일치도를 검정할 땐, Kappa index를 써야한다.


  
*분자: 필연적(non-chance) 일치율
*분모: 우연으로 인해 일치될 경우를 제외한 모든 경우(필연으로 인한 일치, 필연 혹은 우연으로 인한 비일치)


- Kappa Rules of Thumb

Slight Agreement       k <0.2
Fair Agreement      0.2 < k ≤ 0.4
Moderate Agreement     0.4 < k ≤ 0.6
Strong Agreement      0.6 < k ≤ 0.8 
Outstanding Agreement  k > 0.8



install.packages("fmsb")

library(fmsb)


myTest <- matrix(c(40,19,10,31), nrow = 2,
       dimnames = list("검사1" = c("Positive", "Negative"),
                       "검사2" = c("Positive", "Negative")))


Kappa.test(myTest)
$Result

        Estimate Cohen's kappa statistics and test the null hypothesis that the extent of agreement is same as random
        (kappa=0)

data:  myTest
Z = 4.2, p-value = 1.335e-05
95 percent confidence interval:
 0.2421285 0.5978715
sample estimates:
[1] 0.42


$Judgement
[1] "Moderate agreement"


두 검사는 일치하지 않는다.