全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8341 13
2013-05-11
求高手!!!问题如下:
        如果想求数据集中的一个变量x的每6个观测值的均值,怎么求?
十分感谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-11 20:43:55
data raw;
do x=1 to 30;
        output;
end;
run;

data raw2;
set raw;
group=int( (_n_ - 1)/6);
run;

proc means data=raw2 nway noprint;
class group;
var x;
output  out=final mean=;
run;
二维码

扫码加我 拉你入群

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

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

2013-5-12 00:52:25
(x的移动平均值,如果是1-6,6-12,...计算平均值,则用楼上那位仁兄的方法)
data a;
set b;/*x所在的原始数据集*/
array y(6);
y1=x;
do i=2 to 6;
y(i)=lag(y(i-1));
end;
mean6=mean(of y1-y6);
drop i;
run;
二维码

扫码加我 拉你入群

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

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

2013-5-12 08:45:36
/* Here is an another method */

data test;
   do x = 1 to 34;
        output;
  end;
run;

data results;
  retain x_sum;
    set test;
   if mod(_n_ , 6) = 1 then x_sum = x;
      else if mod(_n_, 6) = 0 then x_mean = (x_sum+x)/6;
      else x_sum = x_sum + x;
   drop x_sum;
run;
二维码

扫码加我 拉你入群

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

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

2013-5-12 09:08:56
学习了。
二维码

扫码加我 拉你入群

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

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

2013-5-12 09:22:05
谢谢大家的回复,不过我还得继续问问题,嘿嘿。。。如果要实现对于产生的随机数,每6个求均值mean,然后判断该mean是否大于3,若满足,则停止产生随机数,并判断共产生了多少个随机数;若不满足则继续操作。这个代码怎么实现那??
十分感谢。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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