如何在长格式SPSS文件中生成对应基线数据的唯一PatientID变量
解决SPSS长格式数据中仅保留基线行唯一PatientID的方法
前提准备
确保你的数据里有能区分基线/首次问卷的变量:要么是时间变量(如问卷完成日期、随访波次),要么是专门标记基线的分类变量(如wave,1代表基线)。
方法一:通过分组排序标记首次出现的ID(通用场景)
如果用时间变量区分先后:
先按患者ID和时间变量升序排序,确保每个患者的基线行排在最前面:
SORT CASES BY patientID 时间变量(A).把
时间变量替换成你实际的变量名(比如follow_up_date、wave)。生成新变量
Unique_PatientID,仅在每个患者的第一行(基线行)保留原ID,其余行设为缺失:- 如果你的
patientID是数值型:COMPUTE Unique_PatientID = patientID. IF (NOT FIRST(patientID)) Unique_PatientID = $SYSMIS. EXECUTE. - 如果你的
patientID是字符串型:STRING Unique_PatientID (A20). /* 长度根据你的ID实际长度调整 */ COMPUTE Unique_PatientID = patientID. IF (NOT FIRST(patientID)) Unique_PatientID = "". EXECUTE.
- 如果你的
方法二:直接用基线标记变量筛选(已有明确基线标记时)
如果你的数据里有专门标记基线的变量(比如is_baseline,取值1为基线,0为随访),可以直接用这个变量判断:
COMPUTE Unique_PatientID = patientID. IF (is_baseline <> 1) Unique_PatientID = $SYSMIS. EXECUTE.
同样,如果是字符串型ID,调整变量类型和空值设置即可。
内容的提问来源于stack exchange,提问作者Anne
相关产品推荐
相关产品推荐

