作者sinted (MR.?)
看板Statistics
标题[程式] SAS巨集疑问
时间Sat May 12 23:48:52 2012
------------------------------------------------------------------------
SAS
[软体程式类别]:
SAS
[程式问题]:
用SAS巨集跑corr时无法用月份跑出
[软体熟悉度]:
新手(不到1个月)
[问题叙述]:
我是想要每个月每个月算相关系数,但是不知道怎的
下面程式跑出来总是全部资料的corr(1964~2011 daily data)
请问是哪个地方有出现错误吗?
[程式范例]:
%macro kkk ; /*新增巨集kkk*/
%do i=1964 %to 2011; /*年份从1964做到2011*/
%do j=1 %to 12; /*月份从1做到12*/
data a; /*新增资料档a*/
set yoyo; /*设定资料yoyo*/
where i=&i and j=&j ; /*挑选i(年份)为i, j(月份)为j的资料丢进去a*/
run;
proc corr data=a; /*在i年j月份下跑相关性*/
var aa ab ac ad ae; /*跑这些变数的corr*/
run;
%end;
%end;
%mend kkk;
%kkk;
-----------------------------------------------------------------------------
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.169.169.39
1F:推 west1996:个人猜测你的年跟月都是存成文字型变数,如果是的话,请 05/12 23:51
2F:→ west1996:把where那一行改成where i="&i" and j="&j"; 应该就行了 05/12 23:51
3F:→ sinted:w大我是存成数字耶,改" "就会跑出来没观察值 05/12 23:54
4F:→ sinted:不过我是用EXCEL档汇入的,有事先转成数值(在此感谢您回答 05/12 23:55
※ 编辑: sinted 来自: 1.169.169.39 (05/12 23:56)
5F:推 MmmRrrrX:如果你po程式是直接从SAS里复制贴上的,那有好几个地方少 05/13 01:34
6F:→ MmmRrrrX:分号。另外corr程序 可以用by i j,不必用到回圈 05/13 01:36
7F:→ sinted:感谢m大,我先试试看,先把分号补上 05/13 01:38
※ 编辑: sinted 来自: 1.169.169.39 (05/13 01:38)