问题标签 [survival]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
546 浏览

r - 如何将我的数据转换为 R 中间隔截断的开始停止时间的计数过程格式?

我想用在研究观察期间进出风险的受试者来模拟一个反复发生的事件。

我有关于受试者无法体验事件的非风险期(开始和结束日期)的数据。

我将不胜感激有关如何将我的数据转换为这种计数过程格式的帮助,该格式具有反映 R 中事件发生和间隔截断的开始停止时间。我可以将数据转换为事件发生的计数过程格式,但不知道如何划分我的开始停止时间以反映未观察到的时期(除了手动创建我非常想避免的数据集)。

这是我的宽格式输入数据结构的一个非常简化的示例:

查看输入数据结构

这就是我想要实现的目标:

在我的插图中,受试者 1 在 36 个月时从未经历过右删失事件。对象 2 经历了两次事件,并在整个观察期间都处于风险期。对象 3 经历了一次事件,并在 9 个月时退出风险期,并在 11 个月时重新进入风险期。

关于我的学习的其他有用信息:

  1. 受试者的共同开始时间为 0 个月。
  2. 如果没有经历任何事件,受试者在 36 个月时进行右删失。
  3. 受试者观察 3 年。
  4. 在 3 年的观察期内,受试者可以以不同的时间和频率进出风险。

谢谢!

0 投票
3 回答
1607 浏览

r - 如何修复 R Shiny 中的“错误:可变长度不同(为 'input$s' 找到)”

我正在尝试制作一个简单的闪亮应用程序来创建通过用户选择进行分层的卡普兰-迈尔生存曲线。当我对 KM 计算进行静态编码时(使用列名 thorTr),它可以工作,但计算和绘图是静态的。当我用 input$s 替换时,我得到 ERROR:variable lengths different (found for 'input$s')

我试过查看其他使用 as.formula 和 paste 的代码,但我不明白也无法开始工作。但我是一个新的 R 和 Shiny 用户,所以也许我没有做对。这是一个类似的闪亮应用程序,但我想使用 survminer 和 ggsurvplot 进行绘图

我希望有一个用用户选择更新分层变量的图

0 投票
2 回答
380 浏览

r - survreg 模型总结中的 Nan 和 Inf

我正在使用生存分析来评估给定事件发生之前的相对距离(而不是时间,因为它通常是生存统计的情况)。由于我正在使用的数据集非常大,您可以在此处下载我的数据集的 .rds 文件

在使用 对相对距离进行建模时,我在模型摘要中survreg()遇到了zNaNInfp 值(可能源自 的 0 值):Std Error

我认为InfandNaN可能是由数据分离引起的,并将某些级别合并Backshore在一起:

但是再次运行模型时问题仍然存在(即Backshore Tree(>3m)/ Mangrove)。

我在包文档和在线的几乎所有地方都在寻找这种行为的解释survival,但我找不到与此相关的任何内容。

有谁知道在这种情况下InfNaNs 的原因是什么?

0 投票
1 回答
457 浏览

r - 使用 survminer::ggsurvplot 在 r 中以编程方式绘制许多生存曲线的问题

我可以使用 ggsurvplot 绘制如下图所示的单个 Kaplan-Meier 图:

但是,我需要以编程方式绘制许多 KM 图。我需要将不同的变量作为字符串传递。我在下面试过。

令人惊讶的是,这不起作用。我收到以下错误消息:

我不知道为什么会这样。有谁知道如何解决这一问题?非常感谢。

0 投票
1 回答
101 浏览

feature-selection - 在审查数据上使用 univariate.model.score 过滤器在 mlr 中进行特征选择

我正在尝试使用 mlr 和 univariate.model.score 过滤器在 R 中执行特征选择。在文档中它说 surv.rpart 是这个过滤器的默认学习器。我的数据集包含审查后的生存数据,我想使用不同的学习器,例如 surv.coxph,但我对如何做到这一点感到困惑。换句话说,我希望 univariate.model.score 过滤器使用 cindex 和 Cox 模型创建其分数。

我会使用 makeFilterWrapper 来实现吗?例如

我不可能共享数据,所以我没有提供任何数据,但我希望有人能告诉我如何正确使用代码。谢谢。

0 投票
1 回答
469 浏览

r - 在R中按行差异聚合数据帧

我有一个数据框,其中包含患者死亡的时间。

它看起来像这样

我想创建一个函数来检查两行之间的时间是否小于阈值。

如果说 t2 - t1 < 阈值,那么它将记录在该时间间隔内有多少人死亡以及在该时间间隔内丢失了多少人并记录下来。然后它会给出一个间隔大于阈值的数据帧,并添加相应的数字。

假设我的阈值是 0.29,第二行将被删除,记录 1 人死亡和 9 人丢失,并将其添加到第一行“死亡/丢失”列

看起来像

我已经写了一些东西,但是如果它必须添加多行,它就会失败。有效地做到这一点的最佳方法是什么?

编辑

但是索引失败是因为数据的维度减少了吗?

回答@Moody_Mudskipper

0 投票
0 回答
145 浏览

r - 如何绘制符合 survreg() 的标准分布?

我无法绘制适合我的数据的逻辑或高斯分布。

我加载我的数据并创建一个 survreg 对象

如果我尝试拟合指数分布,它不会绘制

相反,当我使用包 flexsurv 时,它很容易绘图

我的观点是:flexsurv 包没有一些重要的发行版。如何绘制符合 survreg() 的标准分布?

0 投票
0 回答
368 浏览

r - MLR - 时间相关数据的生存分析

我正在使用 mlr,并且希望能够将 Cox PH 模型的扩展版本用于右删失、时间相关的协变量。这是我尝试过的,遵循关于时间相关协变量的小插图 https://cran.microsoft.com/web/packages/survival/vignettes/timedep.pdf(第 3.4 节):

当我创建任务时,我收到以下错误消息:

所以很明显我不能将 tstart 和 tstop 都传递给 makeSurvTask。有什么方法可以在 mlr 中将时间相关变量与 cox 模型一起使用?

mlr 教程表明可以使用区间删失数据:

是否可以将 interval2 格式用于与时间相关的数据?如果是这样,这将如何完成?

0 投票
1 回答
165 浏览

r - Coxph 长格式问题错误

当我运行 coxph 函数时,我的数据是正确的长格式:

我收到以下错误:

警告信息:

但是我的退出时间没有一个大于进入时间,而且没有一个丢失?我怎样才能让它工作?

谢谢

0 投票
2 回答
50 浏览

r - 根据不同的列重塑数据

我需要重塑我的数据,以便以适合生存分析的格式获取它。

我当前的数据集如下所示:

我需要根据 Product_Number、Date 和 Status 列重塑我的数据(我想计算每个产品的天数,直到状态转变为 1。如果状态为 0,则流程应重新开始) .

所以数据应该是这样的:

到目前为止我尝试了什么?

我按 ProductNumber 和 Date 订购了我的数据。我喜欢 DPLYR 方式,所以我使用了:

然后我尝试使用 diff() 函数来查看日期的差异(计算天数)。但是当状态切换(从 0 到 1,反之亦然)时,我无法“停止”计数。

我希望我清楚地解释了这个问题。如果您需要一些额外的信息,请告诉我。