SAS:不能在特定变量的where或if条件下使用。

时间:2016-09-16 21:53:34

标签: sas

我有一个有变量的数据集。我可以做proc freq来显示下表:

proc freq

但是我想输出的结果是血清= 0.3:

data new;
set AIM12_OAW;
where serumt=0.3;
run;

我收到如下错误消息:

注意:未从数据集WORK.AIM12_OAW中选择任何观察结果。 注意:从数据集中读取了0个观察结果.AIM12_OAW.WHERE serumt = 0.3;

我试过

where serumt=0.21

仍然没有观察到。奇怪的是,如果我做了

where serumt=0.12

它将输出一个观察值(应为6)。

如果我做了

proc freq data=aim12_onw;
table serumt;
by serumt;
run;

输出结果为:

proc freq2

我无法理解为什么无法通过where或if语句选择变量血清。

我确实检查了血清的格式。这对我来说很正常。

format

我不知道如何处理这个变量。非常感谢您的评论。

1 个答案:

答案 0 :(得分:1)

听起来它可能是一个浮点精度问题 - 尝试像

这样的东西

where round(serumt,0.01) = 0.30