Sas 列中以百分比表示的值
在Access中,我会选择要从中获取数据的列,然后选择它。转到它的属性,转到顶级值,然后输入我想要的当前列表的百分比。例如,成本清单。1000名会员,我只想知道我的会员成本最高的2%。我将2%的费用放入,列表显示了我的会员费用的前2%Sas 列中以百分比表示的值,sas,percentile,Sas,Percentile,在Access中,我会选择要从中获取数据的列,然后选择它。转到它的属性,转到顶级值,然后输入我想要的当前列表的百分比。例如,成本清单。1000名会员,我只想知道我的会员成本最高的2%。我将2%的费用放入,列表显示了我的会员费用的前2% 如何在SAS中执行此操作?我只需使用proc-rank groups=100根据var语句中指定的变量var1创建100个排名组。ranks语句将组放入一个新变量percentile proc rank data=have out=have_ranked grou
如何在SAS中执行此操作?我只需使用
proc-rank
groups=100
根据var
语句中指定的变量var1
创建100个排名组。ranks
语句将组放入一个新变量percentile
proc rank data=have out=have_ranked groups=100;
ranks percentile;
var var1;
run;
data want;
set have_ranked;
where percentile ge 98;
run;
您还可以使用proc单变量来获取前2%的截止点,然后选择您需要的obs。比如:
proc univariate data=sashelp.class;
var weight;
output out=cutoff pctlpts=98 pctlpre=weight;
run;
data class;
set sashelp.class;
if _n_=1 then set cutoff;
if weight>=weight98 then output;
run;
额外的数据步骤是不必要的-您可以在proc rank语句中指定的out=dataset上使用where子句。对于不熟悉proc的人,还值得一提的是,第一组是0而不是1。