12강 / 20강
병기·나이·성별과 엮어 보기
유의한데 작다
이제 침윤률을 임상 정보와 엮습니다. UCSC Xena 가 정리한 TCGA 임상표에는 나이·성별·병기·생존이 들어 있고, 환자 바코드로 우리 표와 이어 붙일 수 있습니다.
먼저 규칙 하나. 환자 한 명은 한 번만 셉니다.
슬라이드가 두 장인 환자가 두 번 들어가면, 그 환자가 결과에 두 배로 영향을 줘요.
그래서 til.patients() 는 환자마다 조직이 가장 넓은 슬라이드 한 장만 남깁니다.
슬라이드 5,201장이 환자 4,750명이 됩니다.
Python
브라우저에서 실행
p = 2.6 × 10⁻⁶. "병기에 따라 침윤률이 다르다" 가 통계적으로는 참입니다.
Python
브라우저에서 실행
그런데 얼마나 다를까요? 가장 높은 병기(I, 6.11%)와 가장 낮은 병기(II, 4.77%)의 차이가 1.34%p 입니다.
11강에서 잰 측정 오차가 1.8%p 였습니다. 발견한 차이가 측정 오차보다 작습니다.
게다가 방향도 이상해요. I → II 에서 내려갔다가 II → III 에서 다시 올라갑니다. "병기가 오를수록 침윤이 준다" 같은 단조로운 이야기가 아닙니다.
섞은 표에서 본 인상은 암종을 나누자 흩어집니다.
Python
브라우저에서 실행
🤔 확인 문제
병기별 차이가 'p = 2.6 × 10⁻⁶ 이지만 1.34%p' 라는 결과를 어떻게 보고해야 할까요?
해설 p값과 효과 크기를 함께 보고해야 합니다. 특히 측정 오차와 견준 크기는 독자가 임상적 의미를 판단하는 데 꼭 필요한 정보예요.
🤔 확인 문제
환자마다 슬라이드를 한 장만 남기는 까닭은?
해설 통계 단위는 '슬라이드' 가 아니라 '환자' 여야 합니다. 한 사람이 두 번 들어가면 독립성 가정이 깨지고 p값이 실제보다 작아집니다.