SAS中的.z语法

时间:2010-08-28 20:55:28

标签: sas

我在SAS上发现了这个paper,包括(在第一页和其他一些部分)以下代码行:

if trt1pn > .z then...

我想知道它的目的是什么。我之前从未见过“.z”表达。我虽然(我的一些同事也这么认为)这是一个错字。但你可以做到

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

并且变量a等于“Z”,变量b等于“B”。

在SAS手册中讨论了哪些内容?这是什么意思?为什么以这种方式在论文中使用它?

2 个答案:

答案 0 :(得分:5)

SAS有28个不同的缺失值(。,._,.A-.Z)和'。'是默认的。可以根据缺少值的原因设置这些特殊缺失值。如果数据点不适用,则可以使用“.N”。

此外,这些缺失值可以通过自定义格式(proc格式)轻松格式化。

Proc format;
  Value Response
    1='Yes'
    0='No'
    .U='Unsure'
    .N='Not Applicable'
    .R='Refused to Answer';
Run;

答案 1 :(得分:4)

对于数字变量,有28个不同的缺失值(._..A.B,...,.Z)。它们比所有数字都“小”。其中,最小的是点下划线(._),最小的是点-Z(.Z)。因此,行:

if trt1pn > .Z then ...

可以使用missing()函数重写:

if not missing(trp1pn) then ...

更清楚一点。