如何在 SAS 中解压缩表格

问题描述 投票:0回答:1

我正在尝试弄清楚如何将一张桌子分成两张单独的桌子。在下面的示例中,我希望吉姆和史蒂夫在一张桌子上,而乔伊和南希在另一张桌子上。 我认为用新变量分配数字将帮助我将表分成 (1) 和 (2),但我如何创建一个以这种方式工作的新变量计数?

ID、姓名

T999999,吉姆 T999999, 喜悦 V888888,史蒂夫 V888888,南希

我的想法: ID,名称,(新变量)

T999999,吉姆,1 T999999, 喜悦, 2 V888888,史蒂夫,1 V888888,南希,2

然后我可以先制作一张 1 的表,然后制作一张 2 的表。

variables count sas
1个回答
0
投票

要将表分成两个单独的表,请创建一个新变量来标识应属于每个表的行。您可以使用此变量来分割数据。

以下是您可以执行此操作的方法

  • 为具有相同 id 的每个组(记录)赋予序号。
  • 基于变量分割数据
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;
© www.soinside.com 2019 - 2024. All rights reserved.