个性化阅读
专注于IT技术分析

SAS数值数据格式详细图解

本文概述

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数值数据格式

输出

SAS数值数据格式

从输出中可以看到, 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数值数据格式

输出

SAS数值数据格式

从输出中可以看到, 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中执行以上代码:

SAS数值数据格式

输出

SAS数值数据格式

正如我们在输出中看到的那样, 薪水已显示有美元符号。

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中执行以上代码:

SAS数值数据格式

输出

SAS数值数据格式

正如我们在输出中看到的那样, 可变薪水已显示为逗号。


赞(1) 打赏
未经允许不得转载:srcmini » SAS数值数据格式详细图解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏