2012-05-20 35 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

相關問題