繁体   English   中英

如何让 SAS 忘记小数位 i 变量?

[英]How can I get SAS to forget decimal places i variables?

我的 SAS 变量中的小数位有问题。

我有两个数值变量要在 SAS 中进行比较。 它们都使用numx10.1格式化,其中一个变量的计算方式如下:

avg(delay)/30.44 as delay_months  format=numx10.1

我想使用比较数据步中的两个值

where var1^=delay_months ;

但即使认为两个变量具有相同的值,例如。 4,1,SAS 仍然用where-statement在数据步中显示这个观察结果。 我想这是因为delay_months变量中的小数。

我怎样才能让 SAS 忘记小数位而只关注我看到的数字 - 例如 4,1?

格式不会改变值 - 它只是 SAS 向您表示它的方式。 一个建议可能是在比较期间(或在您创建变量时)四舍五入

where round(var1, 0.1) ^= round(delay_months, 0.1);

SAS 对数值使用浮点表示。 正因为如此,有时你看到的并不是它本来的样子。 更多关于 SAS 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM