페어링 된 데이터에 대한 Fisher 정확한 테스트


9

을 감안할 때 폐암과의 경우 (폐암없이) 대조군 (연령, 성별에 따라 매칭 등). 폐암에 대한 흡연의 영향 사이의 증거를 찾기 위해 피셔의 정확한 테스트를 우발 사태 테이블에서 사용했습니다. 그러나 이것은 통제와 사례가 일치한다는 것을 고려하지 않았습니다. 4040

그래서 두 그룹 간의 일치를 고려한 Fisher의 정확한 테스트를 사용하는 방법이 있는지 궁금했습니다.

답변:


8

McNemar의 테스트가 필요합니다 ( http://en.wikipedia.org/wiki/McNemar%27s_test , http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3346204/ ). 다음은 예입니다.

1300pts와 1300 개의 일치하는 컨트롤을 연구합니다. 흡연 상태는 다음과 같습니다.

             Normal   
           |no  |yes|
Cancer|No  |1000|40 |
      |Yes |200 |60 |

표의 각 항목은 CASE-CONTROL PAIR에 대한 정보를 표시합니다. 1000은 대 / 소문자 제어 쌍으로 1000 개를 의미하며 흡연자도 아닙니다. 40은 대조군이 흡연자이고 암 환자가 아니었던 경우의 사례-대조 쌍의 수입니다. 다음 R 코드를 사용하여이 테이블을 생성하고 McNemar의 테스트를 수행 할 수 있습니다.

mat = as.table(rbind(c(1000, 40), c( 200, 60) ))
colnames(mat) <- rownames(mat) <- c("Nonsmoker", "Smoker")
names(dimnames(mat)) = c("Cancer", "Normal")
mat
#                  Normal
#              Nonsmoker Smoker
# Cancer
#  Nonsmoker      1000     40
#  Smoker          200     60


mcnemar.test(mat)

#        McNemar's Chi-squared test with continuity correction
#
#data:  mat
#McNemar's chi-squared = 105.34, df = 1, p-value < 2.2e-16

McNemar의 검정은 또한 이진 결과 변수에 대한 개입의 영향을 평가하는 데 사용됩니다. 사전 결과 쌍은 위와 같이 표로 작성되고 테스트됩니다.

편집 : 금연 상태가 다음과 같이 데이터 프레임 mydf에 나열되면 @gung이 제공하는 예제를 확장합니다.

pairID  cancer  control
1       1       1
2       1       1
3       1       0
...

McNemars 테스트는 다음 R 명령으로 수행 할 수 있습니다.

> tt = with(mydf, table(cancer, control))
> tt
      control
cancer 0 1
     0 5 1
     1 3 2

> mcnemar.test(tt)

        McNemar`s Chi-squared test with continuity correction

data:  tt
McNemar`s chi-squared = 0.25, df = 1, p-value = 0.6171

사례 당 10 개의 컨트롤과 같이 사례 당 여러 컨트롤에 어떤 테스트를 사용하십니까?
eXpander

이것은 별도의 질문과 토론이 필요합니다. 각 사례를 통제 수단과 쌍을 이룬 다음 McNemar의 테스트를 사용할 수 있다고 생각합니다.
rnso

5

Fisher의 정확한 테스트가 데이터에 적합하지 않은 것이 맞습니다. 우발 사태 표를 재구성해야합니다. 새 테이블은 pair 에 대한 것이므로 데이터의 절반이 (80 대신 40으로 표시) 나타납니다. 예를 들어, 데이터가 다음과 같다고 가정합니다 (각 쌍의 주제 세트는 자체 행에 있으며 1흡연자를 나타냅니다).

cancer  control
1       1
1       1
1       0
1       0
1       0
0       1
0       0
0       0
0       0
0       0
0       0

그런 다음 이전 우발 사태 표는 다음과 같습니다.

       cancer  control
smoker 5       3
non    6       8

새로운 긴급 상황 표는 다음과 같습니다.

            control
cancer    smoker  non           
  smoker  2       3
  non     1       5

첫 번째 우발 사태 표는 22 (연구의 총 피험자 수)에 합산되었지만 두 번째 우발 사태 표는 11 (일치 한 쌍 수)에 합산됩니다.

이러한 방식으로 데이터를 표시하면 한계 비율이 동일한 지 관심이 있습니다. 이에 대한 테스트는 McNemar의 테스트 입니다. 나는 여기여기 에서 McNemar의 테스트를 설명 했습니다 .


1
이분법 데이터에 대한 McNemar 검정은 부호 검정과 동일합니다. 따라서 OP는 부호 테스트를 사용할 수 있습니다 (필요한 경우 순열 또는 Monte Carlo 유의성 테스트 포함).
ttnphns

1
@ttnphns, 나는 McNemar의 테스트를 자세히 설명하는 링크 된 스레드에서 논의합니다.
gung-복직 모니카

1

페어링 된 테스트를 사용할 필요는 없습니다. 인구의 일치는 코바 나이트 (나이, ...)의 분포가 두 populatoins에서 동일하므로 그림을 "분열"시키지 않는다는 것을 확인합니다.

이 테스트는 모집단의 평균을 비교하므로 한 쌍의 개인이 필요하지 않습니다. 이것은 "반복 된"측정에만 필요합니다. 예를 들어, 동일한 집단의 치료 전후에 메나를 비교합니다.


0

예, 아니오 :

아마도 귀하의 사례는 Pearce (2015) 사례에 속할 것 입니다.이 기사의 요점은 컨트롤을 선택하는 데 사용하는 변수가 테스트가 아닌 연구에서 제어되어야한다는 것입니다. N = 80 때문에 어려울 수 있습니다.

이 도움을 바랍니다 :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.