[英]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.