我正在尝试弄清楚如何将一张桌子分成两张单独的桌子。在下面的示例中,我希望吉姆和史蒂夫在一张桌子上,而乔伊和南希在另一张桌子上。 我认为用新变量分配数字将帮助我将表分成 (1) 和 (2),但我如何创建一个以这种方式工作的新变量计数?
ID、姓名
T999999,吉姆 T999999, 喜悦 V888888,史蒂夫 V888888,南希
我的想法: ID,名称,(新变量)
T999999,吉姆,1 T999999, 喜悦, 2 V888888,史蒂夫,1 V888888,南希,2
然后我可以先制作一张 1 的表,然后制作一张 2 的表。
要将表分成两个单独的表,请创建一个新变量来标识应属于每个表的行。您可以使用此变量来分割数据。
data have;
input ID $ Name $;
datalines;
T999999 Jim
T999999 Joy
V888888 Steve
V888888 Nancy
;
run;
data have_with_group;
set have;
by ID;
if first.ID then count = 0;
count + 1;
run;
data table1 table2;
set have_with_group;
if count = 1 then output table1;
else if count = 2 then output table2;
run;
proc print data=table1;
title 'Table 1';
run;
proc print data=table2;
title 'Table 2';
run;