2010-08-28 172 views
5

我发现这个paper上SAS包括(第一页和其他一些地区的)下面的代码行:.Z语法SAS

if trt1pn > .z then... 

我想知道它的目的可能是什么。我从来没有见过“.z”表达式。我虽然(和我的一些同事一样)认为这是一个错字。但你可以做

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

你得到变量a等于“Z”,变量b等于“B”。

在SAS手册中讨论了哪些内容?这意味着什么?为什么这样用在纸上?

回答

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; 
+0

以下是来自SAS的更多信息:http://support.sas.com/documentation/cdl/en/lrcon/62955/HTML/default/viewer.htm#/documentation/cdl/en/lrcon/62955/HTML /default/a000992455.htm – 2010-08-30 13:34:01

4

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

if trt1pn > .Z then ... 

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

if not missing(trp1pn) then ... 

这是有点清晰。