我正在使用生存方案在R中进行分层的cox回归:
cox <- coxph(response~strata(x), data=data)
这样可以正常工作,但是在使用采样包时,生存包中的分层函数是隐藏的,不能直接使用。
但是,使用显式名称空间survival::strata
调用它不会创建分层分析:
library(survival)
# sample data
mort28day <- c(1,0,1,0,0,0,0,1,0,0,0,1,1,0,1,0,0,1,0,1,1,1,1,0,1,1,1,0,0,1)
daysurv <- c(4,29,24,29,29,29,29,19,29,29,29,3,9,29,15,29,29,11,29,5,13,20,22,29,16,21,9,29,29,15)
levo <- c(0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0)
acbi30 <- data.frame(mort28day, daysurv, levo)
# create survival object
test.Surv <- Surv(acbi30$daysurv, acbi30$mort28day)
test.surv_fit_1 <- survfit(coxph(test.Surv~strata(levo), data=acbi30))
test.surv_fit_2 <- survfit(coxph(test.Surv~survival::strata(levo), data=acbi30))
所以,
test.surv_fit_1$strata
# levo=0 levo=1
# 12 3
test.surv_fit_2$strata
# NULL
为什么会出现这种情况?当sampling::strata
隐藏此功能时,我该如何访问此功能(除了分离采样包; - )
我正在使用R版本2.15.2
谢谢,DeltaKappa
更新
作为使用survival :: strata和我做的采样包的解决方法
library(survival)
library(sampling, pos="package:base")
在基本包的正上方加载具有低搜索优先级的采样包。然后我可以做
coxph(test.Surv~strata(levo), data=acbi30)
明确调用sampling::strata
。