362페이지
------------------------------------------------------------------------------
out=coxph(Surv(time,status==1) ~ rx, data=colon)
out
------------------------------------------------------------------------------
제 데이터는 "rx"에 해당하는 변수 열은 1~8까지 8개의 군으로 나뉘는 데이터입니다.
---------------------------------------------------------------------------------------------
Call:
coxph(formula = Surv(New_AF_KM_MONTH, New_AF_KM_EVENT == 1) ~
MOV30_WEK_FREQ_ID, data = afdb)
coef exp(coef) se(coef) z p
MOV30_WEK_FREQ_ID -0.00483 0.99518 0.00981 -0.49 0.62
Likelihood ratio test=0.24 on 1 df, p=0.622
n= 497684, number of events= 3420
(9121 observations deleted due to missingness)
---------------------------------------------------------------------------------------------
실행을 하면 위와 같이 8개의 군으로 나뉘어지지 않고 1개의 결과만 보여집니다.
군의 숫자가 많을때에는 따로 표시가 되지 않는 것인가요?
ggsurv를 이용해서 그래프를 그리면 8개 군의 그래프가 모두 그려지기는 합니다.
미리 감사드립니다.
Comment 5
-
cardiomoon
2017.05.21 23:24
-
정암
2017.05.27 21:19
데이터가 크기 제한에 걸려서 올리지는 못했습니다.
아랫 분이 이야기 하신 방법대로 1~8까지 숫자를 a~h까지 문자로 변경하고는 문제가 해결 되었습니다.
혹시 숫자로 되어 있더라도 인위적으로 명목변수로 인식하도록 하는 방법이 있을까요?
-
천감기
2017.05.22 22:58
아마도 8개의 군이 숫자로 표시되어있었다면, 연속변수로 처리된 것이 아닌가 하는 생각이 드는 군요.
만일 ,1부터 8까지의 숫자로 되어있다면, a부터 g까지의 문자로 변화시켜서 한번 실행해 보면 어떨까요?
아마도 원하신 결과가 나올 것같습니다만...
이 때 reference가 되는 변수는 a가 될 것입니다. 아마도..
매번 더미 변수는 어떻게 처리되는지 늘 관심가지고 보셔야 합니다.
한편 web-r에서 표만들기 메뉴에서는 8개 이하의 숫자는 문자로 인식하도록 하는 편리한 기능이 있지만,
이것은 사실 아주 일반적인 기능이 아니고, 연구자가 명목변수인지, 연속변수인지
잘 알고 지정해 주는 것이 가장 바람직합니다.
김지형 드림
Recommend:1 Comment
-
정암
2017.05.27 21:21
감사합니다. 김지형님.
문자로 변화 시켜서 coxph 실행시켜보니 8개 군에 대한 분석결과로 나눠져서 나타났습니다.
운영자님 댓글에서 다시 질문드려놨지만 혹시 숫자 형태로 그대로 유지한체로 명목변수로 인식하도록 하는 방법이 있을까요?
-
정암
2017.05.27 22:23
다른 책과 카페를 통해서 해결 방법을 알게 되어서 공유하고자 합니다.
변수 rx가 연속형으로 입력되어 있으나 명목 변수인 경우 다음과 같은 factor()를 사용해서 해결 할 수 잇습니다.
out=coxph(Surv(time,status==1) ~ factor(rx), data=colon)
데이터를 봐야 알겠는데요. 데이터를 올려봐주셔요