R 精算生存分析,分为区间

R 精算生存分析,分为区间,r,statistics,stata,spss,survival-analysis,R,Statistics,Stata,Spss,Survival Analysis,我正试图在R中创建一个精算生存分析(我正在遵循一些工作示例)。我认为最好的方法是使用survival包。比如: library(survival) surv.test <- survfit(Surv(TIME,STATUS), data=test) 库(生存) surv.test我猜您想要将时间变量划分为区间,因为您想要绘制Kaplan-Meier曲线。在R中,这是不必要的,您可以在survfit对象上调用plot。比如说, s=survfit(Surv(futime, fustat)~

我正试图在R中创建一个精算生存分析(我正在遵循一些工作示例)。我认为最好的方法是使用
survival
包。比如:

library(survival)
surv.test <- survfit(Surv(TIME,STATUS), data=test)
库(生存)

surv.test我猜您想要将
时间
变量划分为区间,因为您想要绘制Kaplan-Meier曲线。在R中,这是不必要的,您可以在
survfit
对象上调用plot。比如说,

s=survfit(Surv(futime, fustat)~rx, data=ovarian)
plot(s)


我想我更了解你的问题。之所以会有一条粗黑线,是因为有大量的审查,并且在审查的每个点都绘制了一个
+
,您可以使用
mark.time=F
将其关闭。(您可以在
?生存:::plot.survfit
中看到其他选项)

但是,如果您仍然希望按年份进行汇总,只需将跟踪时间除以365,然后进行四舍五入<代码>天花板
用于取整。下面是一个在不同时间级别聚合而不进行审查的示例

par(mfrow=c(1,3))
plot(survfit(Surv(ceiling(futime), fustat)~rx, data=ovarian),col=c('blue','red'),main='Day',mark.time=F)
plot(survfit(Surv(ceiling(futime/30), fustat)~rx, data=ovarian),col=c('blue','red'),main='Month',mark.time=F)
plot(survfit(Surv(ceiling(futime/365), fustat)~rx, data=ovarian),col=c('blue','red'),main='Year',mark.time=F)
par(mfrow=c(1,1))
但我认为,在没有审查符号的情况下绘制卡普兰·梅尔(Kaplan Meier)将非常好看,并提供更多的洞察力


万岁,我现在应该可以发布图片了:

1) 这就是R基本生存图目前的样子

2) 这就是它应该是什么样子(SPSS示例)
这正是我所缺少的!谢谢

解决方案:

vas.surv <- survfit(Surv(ceiling(TIME/365), STATUS)~1, conf.type="none", data=vasectomy)
plot(vas.surv, ylim=c(0.975,1), mark.time=F, xlab="Years", ylab="Cumulative Survival")

vas.surv不知道为什么这个问题被否决+我认为这不是一个不合理的问题。现在时间和状态变量是如何设置的?什么样的例子可以运行,你告诉我们为什么这个例子是错误的,我们应该改变什么。谁问我是否在BNPP工作?顺便说一句,答案是否定的。为什么需要将
时间
变量划分为间隔?您是否试图绘制Kaplan-Meier曲线(有时称为阶梯图)?或者您正在尝试将时变协变量添加到您的模型中?这个表格包含大约9400条事件记录,数据应该按年份分组(根据练习)。状态变量是一个简单的0,1变量,用于描述患者是否进行了某项手术,而时间变量是自另一项手术后的天数。很抱歉,我还不能发布图片。想象一下,在R中描绘了一条粗的扁平线,而不是SPSS和STATA输出中可以看到的宽步长。我认为问题在于该表包含每日事件,并且步骤太小(时间从0到6249)。由于我的时间变量是以天为单位的,所以在使用标准方法时,我只能得到一条粗黑线作为输出。数据需要以年为间隔绘制,否则步骤将不可见。添加绘图是个好主意。但是,您可以编辑您的答案,并将绘图放在那里,然后删除此“答案”。我认为应将图像添加到原始问题中。无法在该时间点添加图像,但将在下次添加。这里有很多问题,因此请触摸带有时间组件的标记轴。请随意浏览。这一个有点讨厌,因为它不仅是轴的重新标记(例如,使用xaxt='n'抑制x轴的绘图,然后使用axis命令重新指定标签),而且记号标记的位置也会改变。具体来说,查看
?生存:::plot.survfit
以了解有关此plot命令的更多信息。但要重新缩放它,只需使用
xscale
参数。因此,在数年到数天的时间里,您可以通过
xscale=1/365
Brilliant来扩展它<代码>?生存:::plot.survfit
是一个很好的命令!