全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
23284 5
2013-07-17
SPSS很明显,不知道SAS是那个命令?为了这一个结果两个软件换一次很浪费时间
二维码

扫码加我 拉你入群

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

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

全部回复
2013-7-17 17:38:16
proc means,proc univariate 等过程提供一些常用的分位点(1,5,10,25,50,75,90,95,1);
任意的分位点,可借助于proc rank过程
data ex;
do i=1 to 1000;
x=ranuni(0);
output;
end;
drop i;
run;


proc rank data=ex out=ex_rank percent;
var x;
ranks x_rank;/*x_rank描述x的分位位置*/
run;


data _null_;
set ex_rank;
if round(x_rank)=33 then call symputx('three_quantile',x);
if round(x_rank)=25 then call symputx('four_quantile',x);
if round(x_rank)=10 then call symputx('ten_quantile',x);
run;
/*这样处理可能不会太精确*/

%put &three_quantile &four_quantile &ten_quantile;
二维码

扫码加我 拉你入群

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

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

2013-7-18 09:45:40
ziyenano 发表于 2013-7-17 17:38
proc means,proc univariate 等过程提供一些常用的分位点(1,5,10,25,50,75,90,95,1);
任意的分位点,可借 ...
可以用PROC UNIVARIATE 求任何分位点数。

%macro pct(point);
proc univariate data=sashelp.cars;
        var invoice;
    output out=pct pctlpts=&point  pctlpre=p;
run;

proc print data=pct;
run;
%mend pct;

%pct(33.3  25  10)
二维码

扫码加我 拉你入群

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

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

2013-7-18 09:49:26
webgu 发表于 2013-7-18 09:45
可以用PROC UNIVARIATE 求任何分位点数。

%macro pct(point);
老师,请问SAS宏在这里面起到什么作用,宏很重要吗?还没接触过宏,需不需要了解一下?
二维码

扫码加我 拉你入群

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

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

2013-7-18 09:59:47
webgu 发表于 2013-7-18 09:45
可以用PROC UNIVARIATE 求任何分位点数。

%macro pct(point);
哎呦,学习了~
二维码

扫码加我 拉你入群

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

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

2013-7-18 12:34:28
baiduqiqi 发表于 2013-7-18 09:49
老师,请问SAS宏在这里面起到什么作用,宏很重要吗?还没接触过宏,需不需要了解一下?
我不是老师。

如果想做数据分析,并以此为兴趣和职业的话,很重要。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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