datastep中的SAS计算
我读了很多关于第一个的书。最后。SAS中的函数和基本计算,但我希望在datastep中避免以下问题(如果可能): 我需要标记每个方向超过25%的观察值。也就是说,我想计算离群值,并给它们一个1或0(离群值与否)。我的问题是,我想为数据集中的一组/类观察值执行此操作datastep中的SAS计算,sas,dataset,Sas,Dataset,我读了很多关于第一个的书。最后。SAS中的函数和基本计算,但我希望在datastep中避免以下问题(如果可能): 我需要标记每个方向超过25%的观察值。也就是说,我想计算离群值,并给它们一个1或0(离群值与否)。我的问题是,我想为数据集中的一组/类观察值执行此操作 Group Value OutlierFlag a 1 1 a 10 0 a 11 0 a 400 1 b 2 0 b 2 0 b 500 1 复
Group Value OutlierFlag
a 1 1
a 10 0
a 11 0
a 400 1
b 2 0
b 2 0
b 500 1
复杂化/推进:我需要添加一个时间网格,这意味着我需要对每分钟的所有观测值求和,并将值记在一种网格上(当前观测值不在指定的时间间隔内)。我已经生成了网格(分钟步骤)。但我如何总结观察结果,并在每分钟的观察中将其纳入网格数据步骤?
我很抱歉,如果这是太模糊,但也许你们中的一个知道如何做,或有一个想法。我非常感激
最好的
编辑:
好的,我测试了:
proc means data = MM.Data median P25 P75;
class Security;
ods output Summary=mm.Data_median;
var price spread; run;
data mm.data; set mm.Data_median;
run;
这基本上给了我Proc意味着输出。但是我想要原始的数据集填充p25和p75变量。
然后我试着:
proc sql;
create table mm.newData as select *, sum(spread) as sumspread
from mm.Data
group by RIC; quit;
但它首先将其重新分组,然后没有P25功能(我只是出于试验原因输入了sum)。- 将STACKODS和NWAY选项添加到Proc means。这只计算在 最高级别(即仅在集团级别)并保持数据范围
- 按组合并使用
proc means data=sashelp.class nway stackods median p25 p75; class sex; var weight; ods output summary=stats; run; proc sort data=sashelp.class out=class; by sex; data want; merge class stats (keep=sex median p25 p75); by sex; flag_p75=ifn(weight>p75, 1, 0); run;