2012-05-20 38 views
0

enter image description here我这里有这个数据集,看起来像这样:移调数据集中,但在今年一列和另一列

基本上,我要处理的数据集,让我有 GVKEY1独特如1004,然后是一个独特的年份数字,如1996年,然后是几个gvkey2。然而,每年的gvkey2数量并不相同。有谁知道如何解决这个问题?这意味着我将拥有gvkey1的几行12行数据,因为我有从1996年到2008年的数年。然后每年我会有许多列,每列将有一个gvkey2。

最好的问候,

纳兹

回答

0

我不知道我理解你的问题,但如果你正在寻找独特gvkey1 /年的对,你可以做以下任一:

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; 

如果这不是你要找什么,我建议张贴的你想要的结果的例子。

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选项。

+1

我想你需要在proc转置中添加'year'作为BY变量。否则,这似乎是最简单的解决方案。 – Longfish

+0

@凯斯 - 谢谢,你是对的。我已更新。 – DavB

相关问题