0

在此处输入图像描述我在这里有这个数据集,如下所示:

基本上我想操纵数据集,使 GVKEY1 具有唯一性,例如 1004,然后是唯一的年份编号,例如 1996,然后是几个 gvkey2。但是,每年 gvkey2 的数量并不相同。有谁知道如何解决这个问题?这意味着我将为 1004 年的 gvkey1 提供几 12 行数据,因为我有 1996 年到 2008 年的年份。然后每年我都会有很多列,每列都有一个 gvkey2。

此致,

纳兹

4

2 回答 2

3

你不能只使用 PROC TRANSPOSE 吗?

proc sort data=your_data_set out=temp1;
  by gvkey1 year;
run;

proc transpose data=temp1 out=temp2;
  by gvkey1 year;
  var gvkey2;
run;

这将为您提供一系列变量 COL1 - COLx。对不同的变量名使用 PREFIX 选项。

于 2012-05-21T07:43:26.920 回答
0

我不确定我是否理解您的问题,但如果您正在寻找独特的 gvkey1/year 对,您可以执行以下任一操作:

proc sql;
 create table results as
 select distinct gvkey1, year
 from _your_data_set;
quit;

或者

proc sort data=_your_data_set(keep=gvkey1 year) out=results nodupkey;
 by gvkey1 year;
run;

如果这不是您想要的,我建议发布您想要的结果示例。

于 2012-05-20T15:02:54.217 回答