sas - 如何在if语句中使用变量四分位数和四分位数范围?
问题描述
我正在 SAS 中进行一些数据清理,我对使用它非常陌生,并且我正在尝试创建一个新变量,在其中我将上限和下限之外的值设置为上限和下限的值。我通过 Q1-1.5*IQR 决定了我的底线,并通过 Q3+1.5*IQR 决定了我的底线。使用 if 语句创建新变量我有下面的代码。除了手工计算之外,我不知道如何包括我的上限和下限的值,但我觉得应该有更好的方法来做到这一点。如何在我的代码中使用四分位数和 IQR?
data practice.ipo_refined2;
set practice.ipo;
if 'Price.Revision'n > Q3 + qrange*1.5 then 'Price.Revision.Windsor'n = Q3+qrange*1.5;
else if 'Price.Revision'n < Q1-qrange*1.5 then 'Price.Revision.Windsor'n = Q1-qrange*1.5;
else 'Price.Revision.Windsor'n = 'Price.Revision'n;
keep 'Initial.Return'n 'Price.Revision'n 'High.Tech'n 'Price.Revision.Windsor'n;
run;
解决方案
推荐阅读
- mysql - 如何检索表的值以获取sql中两列的最大值
- angular - 'ng add @angular/material' 产生错误,为什么?
- laravel - 如何使用 laravel 收银员来处理 laravel 中的定期订阅
- python - python scipy fsolve求解大量非线性方程
- hibernate - 如何在 SpringBoot 2 中创建数据源?
- r - R中的可恢复文件删除
- system-verilog - 在 SystemVerilog / DPI 中键入擦除
- javascript - 如何按日期对数组进行排序但缺少第一个数组项
- android - 用户列表为空
- r - 绘制包含样本大小和功效估计值的图表