作者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)