R 生存分析:使用 Weibull 的 survreg 中的错误

R Survival Analysis: error in survreg using Weibull

我正在尝试使用我之前在 SAS 中生成的 Weibull 分布复制一些生存分析 - 我现在在一台未经许可的机器上工作,所以我使用 R(均来自 Windows)。我的(右截尾)输入数据如下:

> head(mydata)
  ID         Key  Time  Score    Event    Censor
1 1231231    ZXC   28   182.34   0      1
2 4564564    ASD   28   320.04   0      1
3 7897897    QWE   28   306.32   0      1
4 9879879    QWE   28   211.92   0      1
5 6546546    ASD   28   276.14   0      1
6 3213213    ZXC   28   331.50   0      1

Event 和 Censor 是二进制文件,Score 在 150 到 450 之间变化,Time 在 1 到 28 之间变化。输入数据集中大约有 30,000 行。

当我尝试时:

mydatasr <- survreg(Surv(Time, Censor) ~ Score, dist = "w")

我收到一条警告消息:

In survreg.fit(X, Y, weights, offset, init = init, controlvals = control, : Ran out of iterations and did not converge,

并且没有输出。

我已在线(并通过此站点)搜索此消息,但未能找到任何表明问题所在的信息。我在 SAS 中通过(proc logistic 和)lifereg 放置相同的数据时没有收敛问题。

试试这个:

   survreg(Surv(Time, Censor) ~ Score, data=mydata, dist = "w", scale=1)

在没有数据的情况下很难知道。您可以将默认为 30 的迭代次数加倍(或如下图所示,加倍):

(mydatasr <- survreg(Surv(Time, Censor) ~ Score , dist = "w", control = list(maxiter=90) )

请参阅 ?survreg.control 了解更多选项。我也猜你可能错过了 Surv-object 在公式 -~

之前有一个右括号