Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
缺少的值在SAS中被视为最低值?_Sas - Fatal编程技术网

缺少的值在SAS中被视为最低值?

缺少的值在SAS中被视为最低值?,sas,Sas,为什么SAS中的以下代码给出了x=1的输出?。 我很困惑 data strange; x=.; if x < 10 then x=1; else if x >= 10 then x=2; else x=3; run; 数据奇怪; x=。; 如果x=10,则x=2; 否则x=3; 跑 如和中所述: 在SAS中,数字变量的缺失值小于所有数字;如果按数值变量对数据集进行排序,则缺少该变量值的观测值将首先显示在已排序的数据集中。对于数字变量,您可以将特殊缺失值与数字进行比

为什么SAS中的以下代码给出了x=1的输出?。 我很困惑

data strange;
x=.;
if x < 10 then  x=1;
    else if x >= 10 then x=2;
    else x=3;
run;
数据奇怪;
x=。;
如果x<10,则x=1;
否则,如果x>=10,则x=2;
否则x=3;
跑
如和中所述:

在SAS中,数字变量的缺失值小于所有数字;如果按数值变量对数据集进行排序,则缺少该变量值的观测值将首先显示在已排序的数据集中。对于数字变量,您可以将特殊缺失值与数字进行比较,并相互比较

因此,“小于”的测试将包括缺少的值。您需要添加

if x < 10 and not missing(x) then x=1;
但是,这在您的情况下不起作用,因为:

y = ifn(x<10,1,2,3);

y=ifn(x简单的答案是“缺失”(
x=。
)是最小的数字,因此小于10。你希望x什么时候等于3?@Grayson当然,当所有其他方法都失败时。最后一个其他方法是捕获所有其他方法。我希望输出为x=3。但它给我x=1。无论如何,Chris给了我答案。缺少的值被SAS视为最小的数字。我认为缺少就像OO语言中的空值一样。总是首先检查是否缺失,然后继续。@ChrisJ实际上,特殊缺失值(
x=。
)低于(
x=。
y = ifn(x<10,1,2,3);