作者bugle (低点)
看板Statistics
标题Re: [问题] SAS写到一半卡住了~请大大们指点一下.. …
时间Sat May 31 22:00:09 2008
※ 引述《ayung0508 (阿勇就是我)》之铭言:
: 小弟有笔资料如下:
: Obs date code ret mv year month myear
: 13 1973-01-18 2 0.0000 6480 1973 1 1972 .
: 14 1973-01-19 2 0.4622 6510 1973 1 1972 .
: 15 1973-01-22 2 1.3875 6600 1973 1 1972 .
: 16 1973-01-23 2 0.0000 6600 1973 1 1972 .
: 17 1973-01-24 2 -0.4609 6570 1973 1 1972 .
: 18 1973-01-25 2 -0.4559 6540 1973 1 1972 .
: 19 1973-01-26 2 -0.9160 6480 1973 1 1972 .
: . . . . . . . .
: . . . . . . . .
: . . . . . . . .
: 50 1973-03-12 2 -1.6705 7080 1973 3 1972 .
: 51 1973-03-13 2 1.2758 7170 1973 3 1972 .
: 52 1973-03-14 2 -1.6774 7050 1973 3 1972 .
: 53 1973-03-15 2 0.0000 7050 1973 3 1972 .
: 54 1973-03-16 2 1.7061 7170 1973 3 1972 .
: 目前就是想要把"每个月的日报酬率(ret)"及"日市值(mv)"
: 转换成"月报酬率"及"月市值"<=就是一个月只有一个"平均报酬率"与"市值"
: 并且能替代目前的格式print出来
: 看似简单的想法,我却想到卡弹了.....
: 拜托各位大大们拔刀相助~感谢
*假设 data name = xxx;
proc sql;
create table tmp/*tmp=你要的名称*/ as
select put(date,yymmn6.) as date,
mean(ret) as ave_ret, mean(mv) as ave_mv
from xxx
group by 1
;
quit;
/*当然你也是可以用 proc means , proc freq 之类的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.167.170.3
※ 编辑: bugle 来自: 218.167.170.3 (05/31 22:02)
1F:推 ayung0508:真没想到能用SQL做~小弟恰巧藉此机会学习SQL语法 05/31 22:57
2F:→ ayung0508:想请问程式码中间的"逗号,"跟分号不同意思吗 ? 05/31 22:59
3F:→ ayung0508:我试过用means,不过出来都是表格...不会还原成我要的 05/31 23:01
4F:→ ayung0508:总而言之~我先试试看罗~感谢大大 05/31 23:01
5F:→ bugle:逗号是给SQL看的 05/31 23:13