我有一个数据库,我集中在一个名为 DB 的矩阵中,如下所示:
PN time.state.2 STATUS
[1,] 6954010001 0 3.0
[2,] 6954010001 3 3.5
[3,] 6954010001 6 3.5
[4,] 6954010001 9 3.5
[5,] 6954010001 12 3.5
其中有许多受试者,并且每个受试者都登记了不止一行(是登记了状态的患者的不同就诊)。
如果同一位患者在后续访问中增加自己的 STATUS 值,我想创建一个 for 循环来创建一个名为“progression”的对象。
我不明白如何将患者的 PN 代码分配给索引“i”,以允许在与患者结束时继续前进。
例如,对于一个在 time.state.2 对象突出显示的每个时间点具有这些 SCORE 值的患者,我希望当他的 SCORE 值与该患者的第一个时间点相比增加 1 点时,该患者被视为 PROGRESSED(第一次访问在医院)。此外,必须在随后的访问中确认此进展(对于该患者,在时间 6 状态达到 4.0(比第一次访问的 3.0 高 1 个点)并且该值在后续访问中得到确认,因此确认了进展。)
PN time.state.2 STATUS PROGRESSION
[1,] 6954010001 0 3.0 0
[2,] 6954010001 3 3.5 0
[3,] 6954010001 6 4.0 1
[4,] 6954010001 9 4.0 0
[5,] 6954010001 12 4.5 0
[6,] 6954010001 15 4.5 0
我还希望每个患者的 PROGRESSION 仅在第一次时为 1,并且可能(对于该患者)在其进展后的后续访问中下降。例如:
PN time.state.2 STATUS PROGRESSION
[1,] 6954010001 0 3.0 0
[2,] 6954010001 3 3.5 0
[3,] 6954010001 6 4.0 1
[4,] 6954010002 0 6.0 0
[5,] 6954010002 3 6.0 0
当第一个病人停止时,PROGRESSION=1。