我的SAS变量有小数位的问题。
我想在SAS中比较两个数字变量。 它们都使用numx10.1格式化,其中一个变量计算如下:
avg(延迟)/30.44 as delay_months format = numx10.1
我想使用
比较datastep中的两个值其中var1 ^ = delay_months;
但是,即使两个变量都具有相同的值,例如。 4,1,SAS仍在datastep中用where-statement显示此观察结果。 我想这是因为delay_months变量中的小数。
如何让SAS忘记小数位并只关注我看到的数字 - 例如4,1?
亲切的问候 玛利亚
答案 0 :(得分:2)
格式不会更改值 - 它只是SAS向您表示的方式。一个建议可能是在比较期间(或创建变量时)舍入
where round(var1, 0.1) ^= round(delay_months, 0.1);
SAS对数值使用浮点表示。因为有时候你所看到的并不是它的本质。 More about that in SAS documentation