如何在SAS中拆分表格?创建分组变量实现数据分表
SAS按ID内记录生成分组变量并拆分表格
步骤1:确保数据集按ID排序
如果原始数据集未按ID字段排序,先执行排序操作,否则后续BY语句无法正确识别分组:
proc sort data=original_data; by ID; run;
步骤2:生成分组变量
使用DATA步结合BY语句和计数器,为同一ID下的记录依次标记1、2:
data with_group; set original_data; by ID; /* 每当遇到新的ID时,重置计数器 */ if first.ID then group_num = 0; /* 同一ID内每条记录计数器加1 */ group_num + 1; run;
执行后,with_group数据集会新增group_num变量,完全匹配预期的标记效果:
ID , Name, group_num
T999999, Jim, 1
T999999, Joy, 2
V888888, Steve, 1
V888888, Nancy, 2
步骤3:拆分表格
基于生成的group_num变量,直接输出到两个独立数据集:
data group1 group2; set with_group; if group_num = 1 then output group1; /* 包含Jim、Steve */ else output group2; /* 包含Joy、Nancy */ run;
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

