我這裏有這個數據集,看起來像這樣:移調數據集中,但在今年一列和另一列
基本上,我要處理的數據集,讓我有 GVKEY1獨特如1004,然後是一個獨特的年份數字,如1996年,然後是幾個gvkey2。然而,每年的gvkey2數量並不相同。有誰知道如何解決這個問題?這意味着我將擁有gvkey1的幾行12行數據,因爲我有從1996年到2008年的數年。然後每年我會有許多列,每列將有一個gvkey2。
最好的問候,
納茲
我這裏有這個數據集,看起來像這樣:移調數據集中,但在今年一列和另一列
基本上,我要處理的數據集,讓我有 GVKEY1獨特如1004,然後是一個獨特的年份數字,如1996年,然後是幾個gvkey2。然而,每年的gvkey2數量並不相同。有誰知道如何解決這個問題?這意味着我將擁有gvkey1的幾行12行數據,因爲我有從1996年到2008年的數年。然後每年我會有許多列,每列將有一個gvkey2。
最好的問候,
納茲
我不知道我理解你的問題,但如果你正在尋找獨特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;
如果這不是你要找什麼,我建議張貼的你想要的結果的例子。
你不能只使用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選項。
我想你需要在proc轉置中添加'year'作爲BY變量。否則,這似乎是最簡單的解決方案。 – Longfish
@凱斯 - 謝謝,你是對的。我已更新。 – DavB