r - 从聚合数据在 Python 中拟合生存模型

标签 r python

我正在尝试在 Python 中拟合一些基本的生存模型。问题的症结在于我有大量的观察结果,所以我的数据被分箱了——即每一行都不是一个单一的主题,而是具有共同属性的主题的计数(即相同的协变量,相同的时间观察,相同的观察结果)。 lifelines 包似乎需要逐行观察以适应 Cox 模型。同样,尝试使用 scipy.stats.continuous_rv.fit 拟合 Weibull 曲线会遇到同样的问题。

我在 R 中毫无问题地做到了这一点,因为他们的生存回归包似乎都接受允许此类数据的 weights 向量。当原始数据中只有几千个唯一行时,将我的聚合数据分解成数百万行似乎效率极低。任何指针将不胜感激。

最佳答案

我最终使用 Python 中的 rpy2 包来实际调用 R。

importr('survival')
pandas2ri.activate()
coxph_ = r('coxph')
model = coxph_(Formula("Surv(time, outcome) ~ f1 + f2"), data=df, weights=df.num_in_group)

base = importr('base')
print(base.summary(model))

不是很好,但现在可以完成工作了。我对 rpy2 的表现感到惊讶。它具有非常好的 pandas <-> data.frame 互操作性。帮助也很好(rpy2.readthedocs.io)。

关于r - 从聚合数据在 Python 中拟合生存模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42393901/

相关文章:

Python GUI 回调函数

python - 无法在 Python OpenCV v4.20 中使用 SIFT

r - 使用 RecordLinkage 包为大型数据集生成唯一 ID 列

python - 运行不带 "python"关键字的 python 脚本

python - 在 Rstudio 中运行 python/bash 代码

r - 使用 dplyr 从起止范围变量按月聚合计数?

python - 从 for 循环和列表写入 .csv 文件

python - 在 x 轴上绘制日期

rle() : Return average of lengths only if values == TRUE

r - ggplot geom_jitter 落后于(多个)geom_boxplot