반치용/문제해결(trouble shooting)
[R] R을 이용한 상대위험도 구하기 (relative risk,risk ratio) with epitab in r
Cat.8
2020. 1. 6. 17:04
아마 이 글을 찾아 오신 분들은 epitab에서 나오는 결과가 이상하거나, 어색해서일 가능성이 높을 것이다.
상대 위험도에 대한 상세한 설명은 pass 하겠다.
disease 1 | disease 2 | |
Case | A | B |
Control | C | D |
contingency table의 형태가 위와 같고,
Relative risk 의 정의가
A/(A+B)
---------
C/(C+D)
일 때, epitab 패키지를 이용해 relative risk(risk ratio)를 구하는 입력 방법은 다음과 같다.
library(epitab)
# A, B, C, D 값 구하는 부분은 원하시는대로...
# contingency table 입력, epitab이 원하는 형태로..
# 위의 contingency table 기준임
tab<- matrix(c(D,B,C,A),nrow=2,ncol=2)
# rr 연산
result_epitools<- epitab(tab,method="riskratio", pvalue = ("chi2"))
# 통계값 확인
result_epitools
# 추출 편의를 위한 dataframe화
result_rr_df<- as.data.frame(result_epitools)
# 통계값 추출 예시
lower <- result_rr_df$tab.lower[2]
upper <- result_rr_df$tab.upper[2]
rr <- result_rr_df$tab.riskratio[2]
pval <- result_rr_df$tab.p.value[2]
이유를 확인하려면, epitab의 package 문서에서 epitab 함수의 x값이 어떤 형태로 입력되어야 하는지를 확인하고, (epitab 함수 결과를 기준으로 좌 상단에 reference/reference 즉, D이 들어가야 한다)