2012-05-20 4 views
0

enter image description here I는 다음과 같습니다 여기에이 데이터 집합이 있습니다하나의 데이터 세트뿐만 년까지 열과 다른 열 전치

은 기본적으로 내가 설정 한 데이터를 조작 할을 그래서 고유 GVKEY1을 가지고 예를 들어 1004와 같이 고유 한 연도 번호를 입력 한 다음 1996 년 이후에 여러 gvkey2를 입력합니다. 그러나 매년 gvkey2의 수가 같지 않습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까? 이것은 내가 1996 년부터 2008 년까지 여러 해를 보냈기 때문에 gvkey1에 대해 100 줄의 데이터를 12 줄 가지게된다는 것을 의미합니다. 그런 다음 해마다 각 열에 gvkey2가있는 많은 열을 갖게 될 것입니다.

최고 감사합니다,

NAZ

답변

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 transpose에서 BY 변수로 'year'를 추가해야한다고 생각한다. 그렇지 않으면 가장 간단한 해결책 인 것 같습니다. – Longfish

+0

@ 키이스 - 네가 맞아. 나는 갱신했다. – DavB

관련 문제