本文概述
SAS可以处理不同类型的数字数据格式。这些格式在变量名的末尾使用, 以将特定的数字格式应用于数据。
SAS使用两种类型的数字格式, 一种是信息格式, 另一种是输出格式。其中, informat是有关SAS应该如何读取数据的规范, 而输出格式是有关应如何在输出中显示变量的布局规范。
SAS中有许多内部信息和输出格式。或者, 可以使用PROC FORMAT创建用户定义的格式和输出格式。通过在命令行中键入”帮助格式”, 然后在出现的窗口中单击” SAS格式和信息”, 可以查看所有内部信息和输出格式的列表。
让我们详细了解以下数字格式术语:
- 知情的
- SAS如何读取数字信息
- 输出格式
知情的
SAS信息格式是SAS数字格式的一部分, 指定SAS如何读取特定数据。这些在INPUT语句中指定。始终将小数点(。)放在信息的末尾, 因为SAS使用此小数点(。)将信息和其他变量分开。
该信息指示SAS如何将数据读入SAS变量。
以下是用于将数据读入SAS的信息列表。
告知数字输入
Informat | Use |
---|---|
W. | 它表示没有小数位的最大” W”列数。 |
W.D | 它代表带有” D”小数位的最大” W”列数。 |
SAS如何读取数字信息?
SAS数字信息由两个组件组成, 一个是输出中的列数, 另一个是小数位数。
SAS系统基于称为W.D的浮点表示形式, 以读取数字信息。在W.D中, W是列数, D是小数点右边的位数。
例如, 如果W.D的值为7.2, 则它将为输出分配总共7个空格。小数点的左侧数字将分配四个空格, 小数点的左侧将分配一个空格, 小数点的右侧数字将分配两个空格。
在下表中, 使用7.2格式演示了数值数据2789.93。它演示了如何使用W.D信息在SAS系统中进行数字分配。
2 | 7 | 8 | 9 | . | 9 | 3 |
通过使用以下语法, 我们可以在SAS程序中使用W.D信息:
Varname FormatnameW.D
其中
- 变量名:这是声明的变量的名称。
- 格式名称:这是应用于变量的数字格式的名称。
- W:最大数据列数(包括小数点本身和十进制后的数字)。
- D:是小数点右边的最大位数。
例:
DATA informat_example;
input x 6.; /*maximum number of columns*/
format x 10.2;/*W.D informat*/
datalines;
475.301
930.2
5.722
33.116
235.1
34.4567
;
run;
PROC PRINT DATA=informat_example;
RUN;
在SAS Studio中执行以上代码:
输出
从输出中可以看到, SAS遵循W.D信息格式来存储数字值。此处W.D的值为10.2, 这意味着SAS总共读取10个空间。它为小数点左边的数字分配7个空格, 为小数点分配1个空格, 为小数点右边的数字分配2个空格。
输出格式
SAS输出格式用于指示SAS在输出中以所需格式显示数据。它是SAS数字格式的另一部分。
我们可以用三种格式显示数值:
- 简单的W.D格式
- CommaW.D格式
- DollarW.D格式
简单的W.D格式
它是基本读数, 也是SAS的输出格式, 其中W是列数, D是小数点右边的位数。
让我们通过一个示例来了解如何使用W.D格式显示数据。
例:
DATA informat_example;
input x 6.; /*maximum number of columns*/
format x 10.2;/*W.D informat*/
datalines;
475.301
930.2
5.722
33.116
235.1
34.4567
;
run;
PROC PRINT DATA=informat_example;
RUN;
在SAS Studio中执行以上代码:
输出
从输出中可以看到, SAS使用W.D信息存储数字值。此处W.D的值为10.2, 这意味着SAS总共读取10个空间。它为小数点的左边数字分配7个空格, 为小数点分配1个空格, 为小数点的右边数字分配2个空格。
DollarW.D格式:
当我们需要在数字数据中添加美元符号时, 使用此格式。让我们通过一个示例来了解如何使用DollarW.D格式。
例:
如果数据集中存在一个名为薪水的数字变量, 则由于其数字数据类型, 该变量中可能存在小数位。因此, 让我们考虑提到的没有货币符号的组织的员工工资, 例如475.301。现在, 员工希望以美元为单位查看此薪水。为此, 我们需要在上面放置一个美元符号。
为此, 我们需要指示SAS使用DollarW.D格式。
DATA Employee;
input salary 6.; /*maximum width of the data*/
format salary DOLLAR10.2;/*W.D informat*/
datalines;
475.301
930.2
5.722
33.116
235.1
34.4567
;
run;
PROC PRINT DATA=Employee;
RUN;
在SAS Studio中执行以上代码:
输出
正如我们在输出中看到的那样, 薪水已显示有美元符号。
CommaW.D格式
当我们需要添加逗号来分隔数字数据的位数以获得更好的理解时, 使用此格式。让我们通过一个示例来了解如何使用CommaW.D格式。
DATA informat_example;
input salary 6.; /*maximum width of the data*/
format salary comma10.2;/*W.D informat*/
datalines;
634475.301
2345930.2
939875.722
54433.116
1221235.1
123334.4567
;
run;
PROC PRINT DATA=informat_example;
RUN;
在SAS Studio中执行以上代码:
输出
正如我们在输出中看到的那样, 可变薪水已显示为逗号。
评论前必须登录!
注册