我目前正在查看一份文件,声明使用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()函数的作用吗?我理解它说它是一个生存对象,但我不确定它是否是必然需要的东西。谢谢!
答案 0 :(得分:1)
在这种情况下,您只需阅读文档并在其中运行示例。 ? 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
答案 1 :(得分:1)
Surv()是一个创建生存对象的函数。对于生存分析,您需要随访时间(或时间相关变量的时间间隔)和个体的状态。显然,这是必然的。
您应首先阅读survival package documentation。我还建议您阅读这本关于生存分析的非常好的解释书:Survival Analysis: A Self-Learning Text