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