全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5107 1
2010-10-22
转自博客:
http://crackman.net/
data crackman;
input x@@;
datalines;
1 2 6 8 0 5 2 3 5 6 9 10
;
run;
/*用MEANS求均值和标准差*/
proc means data=crackman;
var x;
run;
/*data step里求均值和标准差*/
data crackman;
if _n_=1 then do until(endobs);
set crackman nobs=obs end=endobs;
sum+x;
avg=sum/obs;
end;
if _n_=1 then do until(end);
set crackman end=end;
uss+(x-avg)*(x-avg);
s=sqrt(uss/(obs-1));
end;
put "样本数=" obs "均值=" avg @15 "标准差=" s;
stop;
run;
用DATA STEP计算均值和标准
对于理解均值和标准差异偶很大的好处
二维码

扫码加我 拉你入群

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

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

全部回复
2010-10-25 05:04:01
crackman 发表于 2010-10-22 17:46
转自博客:
http://hi.baidu.com/crack_man/blog

data crackman;
input x@@;
datalines;
1 2 6 8 0 5 2 3 5 6 9 10
;
run;
/*用MEANS求均值和标准差*/
proc means data=crackman;
var x;
run;
/*data step里求均值和标准差*/
data crackman;
if _n_=1 then do until(endobs);
set crackman nobs=obs end=endobs;
sum+x;
avg=sum/obs;
end;
if _n_=1 then do until(end);
set crackman end=end;
uss+(x-avg)*(x-avg);
s=sqrt(uss/(obs-1));
end;
put "样本数=" obs "均值=" avg @15 "标准差=" s;
stop;
run;
用DATA STEP计算均值和标准
对于理解均值和标准差异偶很大的好处
Here is an one pass to calculate mean & variance using adptive algorithm.

data tmp;
   do j=1 to 1000000;
      x=rannor(123);
     output;
  end;
  keep x;
run;

data _null_;
   n = 0;
   mean = 0;
   M2 = 0;
   do i=1 to nobs;
      set tmp nobs=nobs;
   
       n = n + 1;
       delta = x - mean    ;
       mean = mean + delta/n ;
       M2 = M2 + delta*(x - mean) ;

      if n >1 then variance = M2/(n-1) ;

   end;

   put 'Mean=' mean  'Variance=' variance ;

run;

proc means data=tmp mean var;
var x;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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