23、SAS在UNIX环境下的数据处理与命令使用

SAS在UNIX环境下的数据处理与命令使用

1. 数据表示

在UNIX环境下使用SAS进行数据处理时,数据表示是一个重要的方面,它涉及到数值变量的长度和精度、缺失值的处理以及二进制数据的读写。

1.1 数值变量长度和精度

在SAS数据集中,数值变量的默认长度为8字节。不过,你可以在DATA步骤中使用LENGTH或ATTRIB语句来控制SAS数值变量的长度。数值精度问题会影响几乎所有SAS数学函数的返回值以及许多SAS过程返回的数值。在UNIX系统的SAS中,数值以IEEE双精度浮点数的形式表示,一个完整的8字节数的十进制精度实际上为15位小数。

以下表格展示了在UNIX环境下,SAS变量不同长度对应的有效数字和能精确存储的最大整数:
| 字节长度 | 保留的有效数字 | 能精确表示的最大整数 |
| — | — | — |
| 3 | 3 | 8,192 |
| 4 | 6 | 2,097,152 |
| 5 | 8 | 536,870,912 |
| 6 | 11 | 137,438,953,472 |
| 7 | 13 | 35,184,372,088,832 |
| 8 | 15 | 9,007,199,254,740,992 |

在指定变量长度时,需要注意变量长度会影响数据集读写所需的磁盘空间和I/O操作次数。若要获取更多关于指定变量长度的信息,可参考SAS语言参考词典。

如果你确定某个数值变量的值是介于 -8192 到 8192(包含两端)之间的整数,那么可以使用长度为 3 字节来存储该数字,从而节省数据集的空间。示例代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值