楼主: cauhellen
1565 2

[有偿编程] 求三年的平均值,5个论坛币答谢 [推广有奖]

  • 0关注
  • 0粉丝

高中生

62%

还不是VIP/贵宾

-

威望
0
论坛币
176 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
403 点
帖子
21
精华
0
在线时间
37 小时
注册时间
2007-6-22
最后登录
2016-6-3

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;
关键词:5个论坛币 论坛币 平均值 dataset Price 平均值 price 新建
沙发
henryyhl 发表于 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;
It's not going to be easy, but it is going to be worth it.

使用道具

藤椅
njtuwxt 发表于 2013-1-16 08:29:40 |只看作者 |坛友微信交流群
我来替你解决。
ave3=(price+price(-1)+price(-2))/3,呵呵,大概是这样的,很久没用了,可以一起讨论,给我发站内信你的qq号吧。
已有 1 人评分学术水平 热心指数 收起 理由
银河的上游 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 07:54