我目前正在查看一份文件,其中指出要使用Cox比例风险模型,您的响应变量用于
coxph(formula, data=, weights, subset,
na.action, init, control,
ties=c("efron","breslow","exact"),
singular.ok=TRUE, robust=FALSE,
model=FALSE, x=FALSE, y=TRUE, tt, method, ...)必须在公式部分中使用surv()。
谁能告诉我surv()函数是做什么的?我理解它说明它是一个生存对象,但我不确定它是否是必须的。谢谢!
发布于 2014-08-22 13:47:09
在这种情况下,您只需阅读文档并运行其中的示例。? coxph中的第一个示例显示了以下内容:
# Create the simplest test data set
test1 <- list(time=c(4,3,1,1,2,2,3),
status=c(1,1,1,0,1,1,0),
x=c(0,2,1,1,1,0,0),
sex=c(0,0,0,0,1,1,1))
# Fit a stratified model
coxph(Surv(time, status) ~ x + strata(sex), test1) 显然,您需要使公式的左侧/响应部分成为Surv的输出(它也有清晰的文档可供您阅读;请参阅?Surv)。如果您看一下该对象:
> str(Surv(test1$time,test1$status))
Surv [1:7, 1:2] 4 3 1 1+ 2 2 3+
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:2] "time" "status"
- attr(*, "type")= chr "right"并查看它如何反映time和status列中包含的信息:
> with(test1, cbind.data.frame(time, status, Surv(time,status)))
time status Surv(time, status)
1 4 1 4
2 3 1 3
3 1 1 1
4 1 0 1+
5 2 1 2
6 2 1 2
7 3 0 3+然后,为了回答您关于是否有必要这样做的问题,您可以尝试在不使用它的情况下运行coxph,看看会发生什么:
> coxph(time ~ x + strata(sex), test1)
Error in coxph(time ~ x + strata(sex), test1) :
Response must be a survival object发布于 2014-08-22 17:48:17
Surv()是一个创建生存对象的函数。对于生存分析,您需要随访时间(如果是时间依赖变量,则需要时间间隔)和个体的状态。显然,这是必要的。
您应该先阅读survival package documentation。我还建议您阅读这本很好地解释了生存分析的书:Survival Analysis: A Self-Learning Text
https://stackoverflow.com/questions/25440209
复制相似问题