第五课 输入输出格式
一. SAS数据集中变量的类型
SAS共有两种类型的变量:
● 字符型变量━━以ASCII码存放,最大长度不超过200字符。
● 数据型变量━━以浮点数存放,长度为8个字节。
SAS数据集的矩阵式结构要求每个观测的每个变量值都必须存在,因此如果某个数据值缺失,系统会自动补上一个缺失值。对于数字型变量,这个值显示为一个点“.”,而对于字符型变量,这个值显示为空格。
二. 输入和输出格式
SAS数据集的数据值的内部存放格式并不一定与该数据值的输入和输出格式一致,这取决于SAS的两个重要功能:输入格式(Informats)和输出格式(Formats)。输入格式指示SAS系统如何读入数据,而输出格式指示SAS系统如何输出数据。它们的一般形式如下:
● 输入格式:<$>informat
● 输出格式:<$>format
其中$符号指示这是个字符输入输出格式,没有$符号表示是数值输入输出格式;Informat是一个输入格式的名字,format是一个输出格式的名字;w是宽度值,对许多输入输出格式这个值是输入输出数据的列数;d在数值输入输出格式中是小数部分的长度;点”.”是所有输入输出格式中必须包含的分隔符,作为名字的一部分。如果在格式中省略w和d值,SAS系统使用缺省的值。在SAS系统6.12版本中有五类输入格式,字符输入格式共有14种,数值输入格式共有35种;四类输出格式,字符输出格式共有13种,数值输出格式共有41种。
三. 日期时间值在SAS系统中的存储
当变量的值表示日期、时间和日期时间时,在这种特殊的情况下,用户还需了解日期时间值在SAS系统中是怎样被存储的。SAS系统存储日期值为:
● 1960年1月1日和这个日期之间的天数
例如1962年3月8日被存储为797(即366+365+31+28+7),1958年10月1日被存储为-457(即-365-31-30-31)。SAS系统存储时间值为:-457
● 从午夜开始到此刻的秒数
例如8:18存储为29880(8×60×60+18×60)。一个日期时间值存储为1960年1月1日午夜到这个日期时间之间的秒数。例如1962年3月8日8:18存储为6915960(797×24×360+29880)。SAS系统6.12版本提供了17种日期、时间和日期时间的输入格式,31种输出格式。
四. 几种常用的输入输出格式
五. 数据格式变换举例
设有一个SAS数据集survey,其中有一个数字变量INCOME和一个日期变量BDATE,针对不同的采样数据格式,我们对变量采用对应的输入格式,得到在SAS系统中实际存储的数据值,然后根据报表的输出要求,选定一种输出格式,将实际存储的数据值按所选输出格式显示结果。见图5-1所示。
本文来源:https://www.2haoxitong.net/k/doc/cac7ff5177232f60ddcca1aa.html
文档为doc格式