全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3660 9
2010-07-11
假设有data a
  date   x1
  1       1
  2       2
  ...........
1000 1000
如何实现   新建一列变量x2  从第60个观测值开始有数据 储存的是x1的1-60个数据的均值
                     第61个观测值是x1的2-61个数据的均值,依次类推,希望各位高手帮忙。
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-11 19:12:23
你去搜一下
论坛里面曾经有一些人写过这些代码
二维码

扫码加我 拉你入群

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

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

2010-7-11 20:18:53
data crackman;
do date=1 to 1000;
x=date;
output;
end;
run;
proc transpose data=crackman out=a;
run;
%macro mean();
%do i=1 %to 941;
%let j=%eval(&i.+59);
s&j.=mean(of col&i.-col&j.);
%end;
%mend mean;
data result;
set a;
array s s60-s1000;
%mean();
keep s:;
run;
proc transpose data=result out=result(keep=col1);
var _all_;
run;
data crackman;
set crackman;
obs=_n_;
run;
data result;
set result;
obs=_n_+59;
run;
proc sql;
create table b as select crackman.date,crackman.x,result.col1 from crackman join result on crackman.obs=result.obs;
quit;


写了一个
可以实现
但是效率肯定不高
二维码

扫码加我 拉你入群

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

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

2010-7-11 20:30:52
3# crackman
还是非常感谢
二维码

扫码加我 拉你入群

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

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

2010-7-11 20:39:43
proc means就可以啊,很简单
二维码

扫码加我 拉你入群

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

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

2010-7-11 20:41:57
搞错了,呵呵
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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