Как использовать переменные квартиль и межквартильный диапазон в и если оценка? - PullRequest
0 голосов
/ 05 февраля 2019

Я делаю некоторую очистку данных в 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;

1 Ответ

0 голосов
/ 05 февраля 2019

Я предполагаю, что этот пример будет полезен.

proc summary data=sashelp.class;
   var height;
   output out=q q1=q1 q3=q3 qrange=qrange;
   run;
proc print;
   run;
data class;
   set sashelp.class;
   if _n_ eq 1 then set q;
   run;
proc print;
   run;

enter image description here

...