[程式] SAS巨集疑問

看板Statistics作者 (MR.?)時間13年前 (2012/05/12 23:48), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/2 (看更多)
------------------------------------------------------------------------ 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

05/12 23:51, , 1F
個人猜測你的年跟月都是存成文字型變數,如果是的話,請
05/12 23:51, 1F

05/12 23:51, , 2F
把where那一行改成where i="&i" and j="&j"; 應該就行了
05/12 23:51, 2F

05/12 23:54, , 3F
w大我是存成數字耶,改" "就會跑出來沒觀察值
05/12 23:54, 3F

05/12 23:55, , 4F
不過我是用EXCEL檔匯入的,有事先轉成數值(在此感謝您回答
05/12 23:55, 4F
※ 編輯: sinted 來自: 1.169.169.39 (05/12 23:56)

05/13 01:34, , 5F
如果你po程式是直接從SAS裡複製貼上的,那有好幾個地方少
05/13 01:34, 5F

05/13 01:36, , 6F
分號。另外corr程序 可以用by i j,不必用到迴圈
05/13 01:36, 6F

05/13 01:38, , 7F
感謝m大,我先試試看,先把分號補上
05/13 01:38, 7F
※ 編輯: sinted 來自: 1.169.169.39 (05/13 01:38)
文章代碼(AID): #1FhePdyv (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1FhePdyv (Statistics)