현재 답하고 끝이 약간 열려 내 원래의 게시물이, 나는이 함께 작동하는 방법을 알아 내기 위해 노력 해왔다 일부 샘플 데이터를 관련합니다 hereRPY2 - 기능 콜링 - 콕스 비례 위험이
찾을 수 있습니다 , 내가 어디서 얻었고 현재 나의 현안은 무엇인지.
그래서, 내 데이터, 또는 내 데이터의 오히려 간단한 예제는 다음과 같습니다
zipcode xcoord ycoord age_age6574 age_age75plus sex_female stage_late death_death access TruncTime
51062 211253.4259 4733174.483 0 1 0 0 1 40 121
51011 212255.621 4757938.874 0 1 0 0 0 43 121
51109 215303.4471 4721047.303 0 1 1 1 0 21 121
이 데이터는 실제 범주 - age_age6574
하고 대신에 더미/이진 변수가 존재하도록 사전 처리 된 age_age75plus
은 하나의 카테고리, sex_female
다른 하나, stage_late
다른 하나, death_death
다른 카테고리를 구성합니다. Access
은 연속 변수입니다. TruncTime
은 이산 시간 변수로 처리됩니다. 검열 변수로 사용될 변수는 death_death
입니다.
기능을 호출 :
을 그래서, 다음 내가하는 모든 일을 가져올 수 :
from rpy2 import robjects
from rpy2.robjects.packages import importr
from rpy2.robjects.vectors import DataFrame
survival = importr('survival')
coxph = survival.coxph
Surv = survival.Surv
theData = DataFrame.from_csvfile(newDataFile, header=True, sep=',')
그래서 모든 콕스 비례 위험을 할 수있는 모든 설정입니다 - 내 생각이!
coxph(formula = Surv(TruncTime, death_death) ~ age_age6574 +
age_age75plus + sex_female + stage_late + access, method = "breslow")
를 모든 것이 잘 밖으로 작동 : R 내
나는 할 수있다.
내가 기술 한 모든 것을 사용하여, 파이썬에서이 같은 일을 할 때, 나는라는 오류 얻을 :
coxph(Surv('TruncTime', 'death_death'), 'age_age6574'+'age_age75plus'+'sex_female'+'stage_late'+'access', data = theData, method = 'breslow')
이것은 오류가 반환 :
이이 함수 호출을
Error in (function (time, time2, event, type = c("right", "left", "interval", :
Time variable is not numeric
그래서, 내가 무엇을 잘못하고있는 함수 호출 (왜이 오류를 반환합니다) 그리고 내가 제대로 호출에 대해 갈까? 또한 censoring
을 '0'에서 '1'(검열 변수가 작동하는 방식을 반대로)으로 변경하는 방법이 있는지 궁금 할 것입니다.
:::: UPDATE ::::
그래서 나는 열/사용 속성을 내 문제의 일부를 지정했다 발견. 분명히 rpy2는 함수를 호출하기 위해 열의 숫자 인덱스가 필요합니다. 그래서 :Surv(theData[9], theData[7])
coxph
의 생존 부분에 대해. Surv
부분이 작동합니다.
이제 다른 모든 것을 지정하는 방법을 알아 내려고 노력 중입니다. 즉 :
- 모델을 만들 때 사용할 다른 변수를 어떻게 지정합니까? 이러한 변수를 함께 연결하는 데 +
을 사용하는 데 문제가 있습니다. 또한 ~
은 일반 R 에서처럼 작동하지 않습니다.
coxph(Surv(theData[9], theData[7]), theData[3]+theData[4]+theData[5]+theData[6]+theData[8], data = theData, method = 'breslow')
- 그것은 확실히 그 +
에 문제가되고 아니에요 다음과 같은 '
coxph(Surv(theData[9], theData[7])~theData[3]+theData[4]+theData[5]+theData[6]+theData[8], data = theData, method = 'breslow')
나는 또한'와 '~'교체 시도 작동하지 않습니다 다음 ~
을 ,
으로 대체하는 것이 실제로 효과가 있습니다.
두 항목을 모두 한 항목으로 통합하는 것이 좋습니다 (그렇지 않으면 독자는 어떤 방식 으로든 이동 경로를 따라야합니다). – lgautier
'coxph()'를 호출하는 정확한 파이썬 코드가 없다면, 무슨 일이 일어나고 있는지 짐작하기가 어려울 것입니다 .... – lgautier
@Igautier는 답장을 보내 주셔서 대단히 감사합니다! 통합하는 최선의 방법을 말씀해 주시겠습니까? 아무도 내 이전 게시물에 대한 의견조차 귀찮게하지 않았다. 그래서 나는 그렇게 생각하지 않았다. 내가 게시 한 오류 바로 위에, 게시물 끝에, 내가 사용하고있는 코드입니다. 나는 업데이트를 게시하고 편집하여 더 널리 퍼지도록 할 것입니다. 제발 좀 봐, 당신은 어떤 아이디어가 있다면, 분명히 알려주세요! 다시 한 번, 읽고 읽고 의견을 말할 시간을내어 주셔서 감사합니다! – DMML