作者Harryborison (Harry)
看板Statistics
标题[程式] SAS 不同公司跑同个回归巨集
时间Sat May 10 05:25:25 2014
[软体程式类别]:
SAS
[程式问题]:
不同公司不知道如何跑一个相同的巨集
[软体熟悉度]:
新手(不到1个月)
[问题叙述]:
例如档案sp形式如下:有26间公司
code time r
A 200001 1
.
A 201312 2
B 200001 5
.
B 201312 6
.
Z 201312 8
想分开读取每间公司去跑回圈,可是不知道怎麽写。
但是到data sp1 步骤档案就会空白。
[程式范例]:
-----------------------------------------------------------------------------
%let de=26;
%macro JT(h);
%do j=1 %to &de;
data _null_;
set test;
if _n_=&j then do;
call symput('ss', variable);
end;
run;
data sp1;
set sp;
if code='&ss' then output;
run;
%end;
%do i=1 %to &h;
data f;
set sp1;
r&i=lag&i(r);
if r&i>0 then rs=1; else rs=-1;
run;
proc reg data=f outest=para tableout noprint;
model r=rs/white;
run;
proc append base=pic data=para;
quit;
%end;
%mend;
%JT(60);
http://bbs.pinggu.org/forum.php?mod=viewthread&tid=3038054&extra=
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 134.208.22.38
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Statistics/M.1399670728.A.18C.html
※ 编辑: Harryborison (134.208.22.38), 05/10/2014 10:08:46
1F:推 tew:by firm;就好了 不用使用macro 05/11 22:48