SAS可以处理各种数字数据格式。 它在变量名的末尾使用这些格式,以向数据应用特定的数字格式。 SAS使用两种数字格式。 一个用于读取数字数据的特定格式,称为informat,另一个用于显示称为输出格式的特定格式的数字数据。
句法
数字信息的语法是:
- Varname Formatnamew.d
以下是使用的参数的描述:
- VARNAME是变量的名称。
- FORMATNAME是应用于变量的数字格式的名称。
- w是允许为变量存储的数据列的最大数量(包括小数点后的数字和小数点本身)。
- d是小数右边的位数。
读取数字格式
下面是用于将数据读入SAS的格式列表。
输入数字格式
格式 | 使用 |
---|---|
n. | 最大“n”个没有小数点的列数。 |
n.p | 最多“n”个带“p”小数点的列数。 |
COMMAn.p | COMMAn.p最大“n”个具有“p”小数位的列,删除任何逗号或美元符号。 |
COMMAn.p | COMMAn.p最大“n”个具有“p”小数位的列,删除任何逗号或美元符号。 |
显示数字格式
类似于在读取数据时应用格式,以下是用于在SAS程序的输出中显示数据的格式的列表。
输出数字格式
n. | 写入最大“n”位数,不带小数点。 |
n.p | 写入最大“n.p”个带“p”小数点的列数。 |
DOLLARn.p | 使用p个小数位数写入最大“n”列,前面带有美元符号,在第千个位置使用逗号。 |
请注意:
- 如果小数点后的位数小于格式说明符,则在结尾处附加零。
- 如果小数点后的位数大于格式说明符,则最后一位数字将四舍五入。
例子
下面的例子说明了上述情况。
- DATA MYDATA1;
- input x 6.; /*数据的最大宽度*/
- format x 6.3;
- datalines;
- 8722
- 93.2
- .1122
- 15.116
- PROC PRINT DATA = MYDATA1;
- RUN;
- DATA MYDATA2;
- input x 6.; /*数据的最大宽度*/
- format x 5.2;
- datalines;
- 8722
- 93.2
- .1122
- 15.116
- PROC PRINT DATA=MYDATA2;
- RUN;
- DATA MYDATA3;
- input x 6.; /*数据的最大宽度*/
- format x DOLLAR10.2;
- datalines;
- 8722
- 93.2
- .1122
- 15.116
- PROC PRINT DATA=MYDATA3;
- RUN;
当我们执行上面的代码,它会产生以下结果:
- # MYDATA1.
- Obs x
- 1 8722.0 # 显示6个十进制后附加零的列。
- 2 93.200 # 显示6个小数后附加零的列。
- 3 0.112 # 十进制之前没有整数,因此在十进制后显示3个可用数字。
- 4 15.116 # 显示6个十进制后有3位可用数字的列。
- # MYDATA2
- Obs x
- 1 8722 # 显示5列。 只有4个可用。
- 2 93.20 # 显示5个十进制后附加零的列。
- 3 0.11 # 显示5个小数点后2位的列。
- 4 15.12 # 显示5个小数点后2位的列。
- # MYDATA3
- Obs x
- 1 $8,722.00 # 显示10列带有$符号,逗号在第千个位置,零在十进制后附加。
- 2 $93.20 # 只有两个整数在十进制之前可用,一个可用在十进制之后。
- 3 $0.11 # 十进制之前没有整数,十进制后有两个可用。
- 4 $15.12 # 只有两个整数在十进制之前可用,两个可用在十进制之后。
转载本站内容时,请务必注明来自W3xue,违者必究。