SAS中的“.Z”是啥意思?

Posted

技术标签:

【中文标题】SAS中的“.Z”是啥意思?【英文标题】:What does `.Z` mean in SAS?SAS中的“.Z”是什么意思? 【发布时间】:2015-09-05 14:34:48 【问题描述】:

对于这样一个完全不知情的问题,我深表歉意,但我不知道任何 SAS,只需要知道一行代码的作用,所以我希望有人能提供帮助。 我有一个变量数组的循环,以及一个基于与.Z 比较的 if 子句,但是这个变量没有在任何地方定义,所以我猜这是某种 SAS 语法技巧。这是循环:

ARRAY PTYPE* X4216 X4316 X4416 X4816 X4916 X5016;

DO I=1 TO DIM(PTYPE);
    IF (PTYPEI<=.Z) THEN PUT &ID= PTYPEI=;
END;

所以在第一次迭代时,循环会检查X4216 中的值是否小于.Z,然后...? ID 是数据集中的另一个变量,但我不知道 if 子句右侧发生了什么。我已经简要地查阅了 SAS 文档,以找出 & 符号是指宏,但我对 SAS 的了解仅限于了解正在发生的事情。

谁能赐教?

【问题讨论】:

【参考方案1】:

.Z 是一个特殊的缺失值。在 SAS 中,缺失值(您可能称之为 NULL 值)由句点表示。还有 27 个其他特殊缺失值由句点后跟字母或下划线表示。缺失值是不同的,并且都被认为小于任何实际数字。 .Z 是“最大的”。所以PTYPEI&lt;=.Z 基本上是在测试是否缺少值。您可以改为使用MISSING(PTYPEI) 进行相同的测试。右边是写出数组中缺少值的变量的名称和值,以及宏变量ID中命名的变量的名称和值。

【讨论】:

酷,非常感谢!那么我可以将整个事情解释为一个警告结构,它只是为了打印出缺少值的观察的 ID? 糟糕,我再也不会写myVar = .了,但总是missing(myVar) 显然,您可以使用proc format; value myFormat .A = 'alpha' .B = 'beta';为它们分配不同的标签,这样可以使列表更加清晰。

以上是关于SAS中的“.Z”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

时间戳中的 T 和 Z 到底是啥意思?

函数 cudaCreateChannelDesc 中的参数 x,y,z,w 是啥意思

SAS中的宏变量开头和结尾分别是啥命令?

统计中的Z-score是啥意思

SAS是啥意思?

统计中的Z-score是啥意思