作者Jer1983 (stanley)
看板Statistics
標題[程式] 再請教SAS日期格式
時間Tue Mar 26 00:59:13 2013
------------------------------------------------------------------------
[軟體程式類別]:
SAS
[程式問題]:
資料處理
[軟體熟悉度]:
請把以下不需要的部份刪除
新手(不到1個月)
[問題敘述]:
一直無法搞懂SAS的日期設定格式, 從STATA的dta檔案轉檔到SAS裡面,
今天拿到的資料內容(變數名稱叫date)為 2004M11, 2005M01, ...
看了這個網頁
http://tinyurl.com/bjcd78h, 得知要使用 yymm. 的格式
可是... 一直都無法成功
[程式範例]:
(讀取dta檔案到SAS)
proc import datafile="c:\sas\temp" out=test dbms=dta replace;
run;
(這樣是設定日期嗎???)
data test1;
set test;
format date yymm.;
run;
proc print data=test1;
run;
(畫出價格的時間走勢圖)
proc gplot data=test1;
symbol1 i=joint;
plot price*date;
format date yymm.;
run;
-----------------------------------------------------------------------------
另外, 在SAS的log file, 讀取日期失敗的地方一直出現錯誤:
You are trying to use the numeric format YYMM with the character variable
date in the data set...
他的意思應該是說, 從STATA轉過來的date這個變數, 是character的格式,
所以要換成numeric format? 可是 2004M12 中間有M, 怎麼換成numeric的格式呢?
麻煩知道的大大指點一下, 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.159.115
※ 編輯: Jer1983 來自: 140.119.159.115 (03/26 00:59)
1F:→ bbearh:先將 2004M12 讀入 Data 的欄位 ex: name, 03/26 13:00
2F:→ bbearh:set test 的下一行,yr=input(substr(name,1,4),12.); 03/26 13:00
3F:→ bbearh:mon=input(substr(name,6,2),12.); 03/26 13:01
4F:→ bbearh:ym=mdy(mon,1,yr);"ym:sas's date", yr,mon 為數字日期 03/26 13:02
5F:→ JeanYCY:或許用 date_sas=input(date, yymm.); 就行? 都試試囉~ 03/26 16:31