R 使用coxph的时变协变量生存分析

R 使用coxph的时变协变量生存分析,r,survival-analysis,cox-regression,R,Survival Analysis,Cox Regression,这是我拥有的R数据帧df1的快照 NEW_UPC IRI_KEY WEEK UNITS DOLLARS F D PR 11820005991 1073521 1230 1 14.29 NONE 0 0 11820005991 1073521 1232 1 14.29 NONE 0 0 11820005991

这是我拥有的R数据帧
df1
的快照

NEW_UPC         IRI_KEY     WEEK     UNITS     DOLLARS     F     D     PR
11820005991     1073521     1230     1         14.29      NONE   0     0
11820005991     1073521     1232     1         14.29      NONE   0     0
11820005991     1073521     1235     1         14.29      NONE   0     0
11820005991     1073521     1239     1         14.29      NONE   0     0
11820005991     1073521     1241     3         42.97      NONE   0     0
11820005991     1073521     1243     1         14.29      NONE   0     0
11820005991     1073521     1244     5         71.45      NONE   0     0
-----------     -------     ----     -         -----      ----   -     -
11820005991     1073525     1218     2         27.98      NONE   0     0
11820005991     1073525     1224     1         13.99      NONE   0     0
11820005991     1073525     1229     1         12.99      NONE   0     1
11820005991     1073525     1236     1         12.99      NONE   0     0
-----------     -------     ----     -         -----      ----   -     -
我试图在“受试者位置周期”格式的数据上拟合Cox比例风险模型。我之所以称之为主题位置期间格式,是因为
NEW\u UPC
表示产品ID,
IRI\u KEY
表示门店位置,
WEEK
表示一周。变量
单位
美元
F
D
PR
是时变的,因此我想使用具有时变协变量的Cox模型。我查到的参考文献和我的数据场景似乎不一样。大多数参考资料都谈到使用
survsplit
tmerge
将一行受试者观察值转换为多行受试者周期观察值。我的数据已经是主题位置周期格式,因此我不必执行这些操作。但是我的数据没有
coxph
公式中使用的
start
stop
event
变量。这类似于coxph(Surv(开始、停止、事件))~DOLLARS+F+D+PR。我想我需要插入三个新列来创建
开始
停止
事件
变量。我对我的数据感兴趣的事件是产品的死亡

作为第一步,对于每个
新的\u UPC
,我能够使用以下方法确定存在的周期数:

df1 %>% group_by(NEW_UPC,IRI_KEY) %>% summarise(Periods = n_distinct(WEEK))
我使用上述方法,因为请注意,有一些缺少数据的时段。例如,对于产品新的UPC值11820005991,我没有周数12311233123123612371238等的变量信息,因此我无法使用
max(WEEK)-min(WEEK)
查找每个产品的周期数

从现在起,我只是在努力如何继续。有什么想法吗

增加:预期产出

NEW_UPC     IRI_KEY UNITS  start  stop  event DOLLARS F    D PR
11820005991 1073521  1     1230  1232   0     14.29   NONE 0 0
11820005991 1073521  1     1232  1235   0     14.29   NONE 0 0
11820005991 1073521  1     1235  1239   0     14.29   NONE 0 0
----------- -------  -     ----  ----   -     -----   ---- - -
11820005991 1073521  2     1287  1291   1     27.98   NONE 0 0
11820005991 1073525  2     1218  1224   0     27.98   NONE 0 0
11820005991 1073525  1     1224  1229   0     13.99   NONE 0 0
11820005991 1073525  1     1229  1236   0     12.99   NONE 0 1
----------- -------  -     ----  ----   -     -----   ---- - -
11820005991 1073525  1     1297  1303   1     13.99   NONE 0 0
----------- -------  -     ----  ----   -     -----   ---- - -
……等等


此外,为了确定审查,如果一个产品在1426周之前仍然有效,那么它将被审查。

要使用生存分析,您确实需要某种事件。我没有在你的数据中看到任何东西。由于不够清晰,投票结果接近。@42-完全正确。我需要使用可用信息创建事件列。正如我在问题中提到的,事件是产品退出/死亡。值为单位或美元的最后一周将标记事件的发生。希望这能澄清。你能提供几行预期输出是什么吗?您可以安排数据,使每种产品的开始和结束周显示在一行中,但是您希望如何处理其他变量?您在编码方面做了哪些努力?您可以发布代码并输入数据来构造R对象吗。