j******n 发帖数: 2206 | 1 数据形式如下
date akanr akber
31mar1999 1 2
30jun1999 2 3
30sep1999 4 5
31dec1999 1 2
想要的形式
date unemployment countyname
31mar1999 1 akanr
30jun1999 2 akanr
30sep1999 4 akanr
31dec1999 1 akanr
31mar1999 2 akber
30jun1999 3 akber
30sep1999 5 akber
31dec1999 2 akber
raw data一共有55个observation(99年到12年第三季度,55个quarter date),3141个
variable(3141个county name),我这里只是简化了下。所以code的时候还要注意效率问
题。
谢谢! |
k*******a 发帖数: 772 | 2 这不就是个 proc tranpose 吗。。。 |
j******n 发帖数: 2206 | 3 啊,proc transpose能做么?我有3141个变量,会不会太慢?
刚才try了一下transpose,不能得到我想要的format啊。。。transpose后,时间变成
一个obs了。。。
【在 k*******a 的大作中提到】 : 这不就是个 proc tranpose 吗。。。
|
k*******a 发帖数: 772 | 4 data a;
input date date9. akanr akber ;
format date date9.;
datalines;
31mar1999 1 2
30jun1999 2 3
30sep1999 4 5
31dec1999 1 2
;
run;
proc transpose data=a out=b;
by date;
var akanr akber;
run;
最后的结果排排序,该改名就可以了。 |
S*x 发帖数: 705 | 5 array设置那里可能要改一下,应该挺快的
data xx;
set yy;
array aaa(*) a: ;
do i = 1 to dim(aaa);
countyname = vname(aaa(i));
unemployment = aaa(i);
output;
end;
run;
【在 j******n 的大作中提到】 : 啊,proc transpose能做么?我有3141个变量,会不会太慢? : 刚才try了一下transpose,不能得到我想要的format啊。。。transpose后,时间变成 : 一个obs了。。。
|
j******n 发帖数: 2206 | 6 这个variable name不止是a开头的,后面的各种字母都有,就是各个州的开头。
这个proc transpose的var statement可以用
var akanr--mayui类似这种形式么?
谢谢
【在 k*******a 的大作中提到】 : data a; : input date date9. akanr akber ; : format date date9.; : datalines; : 31mar1999 1 2 : 30jun1999 2 3 : 30sep1999 4 5 : 31dec1999 1 2 : ; : run;
|
j******n 发帖数: 2206 | 7 这个方法也很好。
哎,看来这个题目一点都不挑战,我太弱了。。
thanks!
【在 S*x 的大作中提到】 : array设置那里可能要改一下,应该挺快的 : data xx; : set yy; : array aaa(*) a: ; : do i = 1 to dim(aaa); : countyname = vname(aaa(i)); : unemployment = aaa(i); : output; : end; : run;
|
t***s 发帖数: 30 | 8 根本不需要var呀。
proc transpose data=啊 out=b(rename=(col1=unemployment)) name=countyname;
by date;
run;
【在 j******n 的大作中提到】 : 这个variable name不止是a开头的,后面的各种字母都有,就是各个州的开头。 : 这个proc transpose的var statement可以用 : var akanr--mayui类似这种形式么? : 谢谢
|