나는 R을 며칠 동안 가르치고있다. 그리고 나는 cox 회귀 분석에 붙어있다.카테고리를 새 변수로 사용 하시겠습니까?
저는 연속 변수를 각각 cut()
함수를 사용하여 2 개의 범주 형 그룹으로 나눌 수있었습니다. 이제 cox 회귀 분석에서 이러한 카테고리를 별도로 결합 할 수 있는지 궁금합니다.
예를 들어, 각각 A-, A + & B-, B + & C-, C +의 두 가지 범주로 구성된 3 개의 변수 (A, B, C)가 있습니다. 이제 변수를 명명하여 coxph()
을 실행하면 "+"범주에 대한 결과 만 얻습니다 ("-"범주가 참조 그룹으로 사용되기 때문에 이해할 수 있습니다). 그러나 C-는 생존에 부정적인 영향을 미치기 때문에 그 카테고리에 대한 결과를 얻는 데 더 관심이 있습니다.
또한 각 카테고리를 새 그룹/변수로 정의하고 개별적으로 결합하여 생존에 미치는 영향을 볼 수있는 방법이 있는지 궁금합니다. 아니면 이것은 불필요한가요?
편집 : 내가 더 구체적인 예를 들어, 나는 그것과 같이 보일 것입니다
#example data:
test<-structure(list(A = c(8, 6, 42, 97, 55, 1, 5, 7, 55, 4), B = c(93, 9, 65, 2, 51, 89, 1, 1, 5, 62), C = c(58, 99, 100, 98, 92, 100, 99, 95, 81, 67), time = c(1.6, 34.6, 1.5, 35.8, 7.7, 38.6, 40.2, 4.7, 37.6, 8.6), event= c(1, 0, 0, 0, 1, 0, 0, 1, 0, 1)))
mydata<-as.data.frame(test)
: 그것이 작동하는 희망을 포기하려고합니다 :
mydata
A B C time status
1 8 93 58 1.6 1
2 6 9 99 34.6 0
3 42 65 100 1.5 0
4 97 2 98 35.8 0
5 55 51 92 7.7 1
6 1 89 100 38.6 0
7 5 1 99 40.2 0
8 7 1 95 4.7 1
9 55 5 81 37.6 0
10 4 62 67 8.6 1
을 그리고 위의 질문에 관한 정보를, 이것이다
#load survival package
library("survival")
#define variables
A <- c(mydata[1:10,1])
B <- c(mydata[1:10,2])
C <- c(mydata[1:10,3])
OS <- c(mydata[1:10,4])
Event <- c(mydata[1:10,5])
# dependent and independent variables
y <- Surv(OS, Event)
x <- cbind(A, B, C)
mydata <- data.frame(cbind(x,y))
#Cox proportional hazard model, with the "raw data"
coxph1 <- coxph(y~x,data=mydata, method="breslow")
summary(coxph1)
#categorising the variables
CA=cut(mydata$A, br=c(-1,20,101), labels = c("[A-]", "[A+]"))
CB=cut(mydata$B, br=c(-1,20,101), labels = c("[B-]", "[B+]"))
CC=cut(mydata$C, br=c(-1,96,101), labels = c("[C-]", "[C+]"))
#Cox regression, combined with cut intervals
coxph2=coxph(y~CA+CB+CC, data=mydata, method="breslow")
summary(coxph2)
그리고 예상되는 출력은 다음과 같습니다 : 내가 지금까지했던
coxph(formula = y ~ x, data = mydata, method = "breslow")
n= 10, number of events= 4
coef exp(coef) se(coef) z Pr(>|z|)
xA 0.0001443 1.0001443 0.0238329 0.006 0.995
xB 0.0104826 1.0105378 0.0211830 0.495 0.621
xC -0.0497490 0.9514682 0.0383305 -1.298 0.194
exp(coef) exp(-coef) lower .95 upper .95
xA 1.0001 0.9999 0.9545 1.048
xB 1.0105 0.9896 0.9694 1.053
xC 0.9515 1.0510 0.8826 1.026
Concordance= 0.769 (se = 0.167)
Rsquare= 0.29 (max possible= 0.799)
Likelihood ratio test= 3.43 on 3 df, p=0.33
Wald test = 3.3 on 3 df, p=0.3476
Score (logrank) test = 4.24 on 3 df, p=0.2364
coxph(formula = y ~ CA + CB + CC, data = mydata, method = "breslow")
n= 10, number of events= 4
coef exp(coef) se(coef) z Pr(>|z|)
CA[A+] -1.036e+00 3.549e-01 1.262e+00 -0.821 0.412
CB[B+] 4.294e-01 1.536e+00 1.274e+00 0.337 0.736
CC[C+] -2.162e+01 4.095e-10 2.094e+04 -0.001 0.999
exp(coef) exp(-coef) lower .95 upper .95
CA[A+] 3.549e-01 2.818e+00 0.0299 4.213
CB[B+] 1.536e+00 6.509e-01 0.1266 18.653
CC[C+] 4.095e-10 2.442e+09 0.0000 Inf
Concordance= 0.904 (se = 0.165)
Rsquare= 0.542 (max possible= 0.799)
Likelihood ratio test= 7.8 on 3 df, p=0.05031
Wald test = 1.15 on 3 df, p=0.7653
Score (logrank) test = 6.42 on 3 df, p=0.09288
에 오신 것을 환영합니다 : 는 요소의 참조 카테고리가
relevel
기능을 사용하여 변경합니다. [좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask), [재현 가능한 예제를 제공하는 방법] (http://stackoverflow.com/questions/)에서 읽으십시오. 5963269/how-to-make-a-great-r-reproducible-example) 또한 예상 출력을 게시합니다. – Sotos예를 들어 편집했습니다. 당신은 어떻게 내가 분리 된 그룹을 사용할 수 있는지 생각할 수 있니? 아니면 그냥 바보 같은 질문일까요? – Alex
"틀렸어"보입니다. 할까요. 하나의 요소 변수가 될 수 있습니다. –