【问题标题】:SAS: Cannot use where or if condition for specific variable.SAS:不能对特定变量使用 where 或 if 条件。
【发布时间】:2016-09-16 21:53:34
【问题描述】:

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

但是我想输出的观察结果是serert=0.3:

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

我收到如下错误消息:

注意:没有从数据集 WORK.AIM12_OAW 中选择观察值。 注意:从数据集 WORK.AIM12_OAW.WHERE serialt=0.3 中读取了 0 个观察值;

我试过了

where serumt=0.21

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

where serumt=0.12

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

如果我这样做了

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

输出将是:

我不明白为什么无法通过 where 或 if 语句选择变量 selert。

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

我不知道如何处理这个变量。非常感谢cmets。

【问题讨论】:

    标签: sas


    【解决方案1】:

    听起来可能是浮点精度问题 - 尝试类似

    where round(serumt,0.01) = 0.30.

    【讨论】:

    • 非常感谢!它确实奏效了。以后如何避免这种情况?有什么建议可以将此变量转换为其他可以识别的变量吗?
    • 在创建变量时对变量进行舍入,或创建它们的舍入副本。
    猜你喜欢
    • 2014-06-30
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多