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 在公式 -~
之前有一个右括号
我正在尝试使用我之前在 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 在公式 -~