全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1775 2
2013-01-16
悬赏 5 个论坛币 已解决
data test;
input year price;
datalines;
1980 20
1981 22
1982 30
1983 28
1984 35
1984 36
1985 37
1986 40
1987 43
1988 50
;
run;
这是我的dataset, 我想要每三年的平均值,存在另外一个新建变量mean中,
最后的结果应该是这样
year price mean

1980

20


1981

22


1982

30

24.00

1983

28

26.67

1984

35

31.00

1984

36

33.00

1985

37

36.00

1986

40

37.67

1987

43

40.00

1988

50

44.33



最佳答案

henryyhl 查看完整内容

data test; input year price; p1=lag(price); p2=lag2(price); if _n_ ge 3 then mean=mean(price,p1,p2); drop p1 p2; datalines; 1980 20 1981 22 1982 30 1983 28 1984 35 1984 36 1985 37 1986 40 1987 43 1988 50 ; run; proc print ; format mean 8.2; run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-1-16 08:24:35
data test;
input year price;
p1=lag(price);
p2=lag2(price);
if _n_ ge 3 then mean=mean(price,p1,p2);
drop p1 p2;
datalines;
1980 20
1981 22
1982 30
1983 28
1984 35
1984 36
1985 37
1986 40
1987 43
1988 50
;
run;
proc print ;
format mean 8.2;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-16 08:29:40
我来替你解决。
ave3=(price+price(-1)+price(-2))/3,呵呵,大概是这样的,很久没用了,可以一起讨论,给我发站内信你的qq号吧。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群