SAS中文论坛

标题: 求助方差,均值的函数 [打印本页]

作者: shiyiming    时间: 2008-6-28 17:40
标题: 求助方差,均值的函数
我想把一个组数正态化,
那先求方差与均值。请问有没有这样的函数。
不然用proc mean data=abc;
          var a;
觉得很不方便,要抄来抄去的,呵呵,谢谢啦。
作者: shiyiming    时间: 2008-6-29 18:50
标题: Re: 求助方差,均值的函数
data test;
input a b c d e $ f $;
cards;
1 2 3 4 a b
2 . 4 0 c d
11 23 4 5 f g
0.12 0.11 0.23 . m n
8.6 6.7 8.9 9.8 j k
3,4 -1.2 -1.6 -4.5 e hj
;
run;
%macro zhentai(a);

data end;
set &a(drop=_numeric_);
run;
data a;
set &a end=last;
keep _numeric_;if last then call symput('count',_n_);
run;
%put &count;
proc means data=a mean std ;
output out=b(drop=_type_ _freq_);
run;
proc transpose data=b out=b(keep=MEAN STD);
var _numeric_;
id _stat_;
run;
proc transpose data=a out=c;
var _all_;
run;
data c;
merge c b;
run;
%macro t;
data c;
set c;
%do i=1 %to &count;
COL&i=(COL&i-MEAN)/STD;
%end;
run;
%mend t;
%t;
proc transpose data=c(drop=MEAN STD) out=c(drop=_name_);
var _numeric_;
id _name_;
run;
data c;
merge c end;
run;
proc print; run;
%mend zhentai;
%zhentai(test);
写了一个宏,可以将一个数据集合正态化,如果里面有字符变量也没有关系,最后的数据集合vwork.c就是正态化的集合。
做的时候先编译宏,就是运行一下,然后写%zhentai(test);将test换成要转化的数据集合就可了,运行后自动打印出一个集合c,就是正太后的集合了。(但是要注意不能有时间类型的变量,如果有时间类型的变量先删除,提取再合并就可以了,因为sas中时间变量也是数值的)我记得确实有一个语句可以正态化数据,但是我忘记了。好像是主成分里面的,但是没有查到,只能先写一个宏了,希望对你有用。
作者: shiyiming    时间: 2008-7-1 07:23
标题: Re: 求助方差,均值的函数
真的非常非常感谢。
作者: shiyiming    时间: 2008-7-1 20:43
标题: Re: 求助方差,均值的函数
一个proc就可以实现,真是杀鸡用牛刀。属于野蛮型
作者: shiyiming    时间: 2008-7-2 08:18
标题: Re: 求助方差,均值的函数
没办法呀,语句忘记了,我的sas8.2的帮助是不能用的,只好写一个宏糊弄一下,大侠知道哪里有sas的帮助文件可以下载的就是那种可以检索的,不要上网就可以使用的,我去下载一个。
顺便问一下那个可以正态化的过程是什么样的你能写一下吗?我记一下,我写的如果样本一大就没用了。能不能把那个先成的proc写给我 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> 谢谢了。
作者: shiyiming    时间: 2008-7-2 08:23
标题: Re: 求助方差,均值的函数
我也来凑下热闹,^_^
byes可能是建议用standard过程
通常帮助文件不一定在sas中设置好,只要找到路径,如
C:\Program Files\SAS\SAS 9.1\core\help
在sas session的相应选项设置一下就能调出来用了
作者: shiyiming    时间: 2008-7-2 09:31
标题: Re: 求助方差,均值的函数
谢谢 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> 谢谢
作者: shiyiming    时间: 2008-7-9 21:43
标题: Re: 求助方差,均值的函数
sas里面有求均数和方差的函数阿,看看帮助,sas帮助非常强大,一般问题都可以解决
作者: shiyiming    时间: 2008-7-27 10:44
标题: Re: 求助方差,均值的函数
<!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
proc stdize data=test out=sdzout;
run;




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2