Синтаксис .z в SAS - PullRequest
       15

Синтаксис .z в SAS

5 голосов
/ 29 августа 2010

Я нашел эту бумагу на SAS, которая включает (на первой странице и некоторых других частях) следующую строку кода:

if trt1pn > .z then...

Мне было интересно, для чего это нужноможет быть.Я никогда не видел выражения ".z" раньше.Хотя я (и некоторые мои коллеги думали так же) это была опечатка.Но вы можете сделать

data kk;
   a = .z;
   b = .b;
run;

и получить переменную a, равную "Z", и переменную b, равную "B".

Где в руководствах по SAS это обсуждается?Что это может значить?Почему это используется в бумаге таким образом?

Ответы [ 2 ]

5 голосов
/ 29 августа 2010

SAS имеет 28 различных пропущенных значений (., ._, .A-.Z) с '.'быть по умолчанию.эти специальные пропущенные значения могут быть установлены на основании причины пропуска значения.Если точка данных неприменима, тогда можно использовать «.N».

Кроме того, эти пропущенные значения можно легко отформатировать в пользовательских форматах (формат proc).

Proc format;
  Value Response
    1='Yes'
    0='No'
    .U='Unsure'
    .N='Not Applicable'
    .R='Refused to Answer';
Run;
4 голосов
/ 09 сентября 2010

Для числовой переменной существует 28 различных пропущенных значений (._, ., .A, .B, ..., .Z).Они "меньше", чем все числа.Среди них наименьшая точка подчеркивания (._) и наибольшая точка-Z (.Z).Таким образом, строка:

if trt1pn > .Z then ...

может быть переписана с использованием функции missing():

if not missing(trp1pn) then ...

, которая немного яснее.

...