如何让滞后/领先功能在我的数据库中处理每位患者的第一个病例数?
我有一个包含 1k+ 变量和 800k 行的数据库。每行是对血管一段的干预,一个患者可能有几行 = 对不同血管段的许多干预,但都在同一住院期间。有 4 艘船,当我重组数据库时,每行 = 干预有 4 个案例。我试图发布以下数据:
data list list /id_nr (f6) segment_id_nr (f6) date (date9) C_RCA (f6) C_LM (f6) C_LAD (f6) C_LCx (f6) VESSEL(a3) max_stenos (f6) Culprit_PCI (f6) Procedure_type (f6).
BEGIN DATA
1, 5, 12-Jun-06, 1.00, .00, .00, .00, RCA, 3.00, 1.00, 2.00
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LM, 1.00, ,
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LAD, 4.00, ,
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LCX, 1.00, ,
1, 5, 12-Jun-06, 1.00, .00, .00, .00, RCA, 3.00, 1.00, 2.00
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LM, 1.00, ,
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LAD, 4.00, ,
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LCX, 1.00, ,
1, 5, 12-Jun-06, .00, .00, 1.00, .00, RCA, 3.00, ,
1, 5, 12-Jun-06, .00, .00, 1.00, .00, LM, 1.00, ,
1, 5, 12-Jun-06, .00, .00, 1.00, .00, LAD, 4.00, 1.00, 2.00
1, 5, 12-Jun-06, .00, .00, 1.00, .00, LCX, 1.00, ,
END DATA.
dataset name OrigData.
它应该看起来像这样:在此处输入图像描述
我想要的是合并前 4 行中包含的最后两个变量的所有数据,然后删除剩余的行,以便每次住院有 4 行,每行对应于该行中的干预,请参阅下面的数据,我有副本粘贴在excel中:
data list list /id_nr (f6) segment_id_nr (f6) date (date9) C_RCA (f6) C_LM (f6) C_LAD (f6) C_LCx (f6) VESSEL(a3) max_stenos (f6) Culprit_PCI (f6) Procedure_type (f6) Culprit_PCI2 (f6) Procedure_type2 (f6).
BEGIN DATA
1, 5, 12-Jun-06, 1.00, .00, .00, .00, RCA, 3.00, 1.00, 2.00,1.00, 2.00
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LM, 1.00, , , ,
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LAD, 4.00, , ,1.00, 2.00
1, 5, 12-Jun-06, 1.00, .00, .00, .00, LCX, 1.00, , , ,
END DATA.
dataset name OrigData.
我已经尝试过滞后/领先功能,但我无法让它工作
我有以下代码:
compute seq = $casenum.
execute.
SORT CASES BY seq.
CREATE PCI_other_segmentvessel = LAG(Culprit_PCI,4).
CREATE proceduret_type2 = LEAD(procedure_type).
Execute.
这可能吗?可能是滞后
IF sid= lag(sid) and Vessel=lag(Vessel) PCI2 = lag(Culprit_PCI,4).
Execute.
这些都不能正常工作。你能指出我正确的方向吗?我不知道数据是否会起作用,但如果复制粘贴到 excel 中它会起作用。
亲切的问候