SAS格式化数据集详细图解

有时, 我们倾向于将分析后的数据表示为不同于数据集中原始格式的格式。例如, 在一个文本变量中, 所有文本值都用小写字母表示, 我们希望用大写字母表示这些值。或者我们需要在包含价格信息的变量中添加小数位。为此, SAS提供了FORMAT语句。
FORMAT语句包含SAS内置格式。我们可以将FORMAT语句应用于内置格式, 而将PROCFORMAT应用于用户定义的格式。
句法:

FORMAT variable name format name;

其中
  • FORMAT:这是一个FORMAT语句, 指示格式化的操作。
  • 变量名称:这是需要格式化的变量的名称。
  • 格式名称:这是要应用于变量的SAS内置格式的名称。
例:
让我们考虑一下包含组织员工详细信息的SAS数据集员工。在这里, 我们需要以大写形式显示员工的姓名, 为此, 我们使用的是FORMAT语句upcase9, 它是SAS内置格式。
DATA employee; Input empid name$ age weight salary; FORMAT name$ upcase9.; datalines; 1 Akash 22 64 220006 Jaya 55 63 235002 Vinita 34 68 330007 Kumar 43 64 270004 Anita 29 65 530005 Taufik 21 45 320008 Boby 32 71 250003 Ankita 40 69 42000; run; PROC PRINT DATA = http://www.srcmini.com/employee; run;

在SAS Studio中执行以上代码:
SAS格式化数据集详细图解

文章图片
输出
SAS格式化数据集详细图解

文章图片
从输出中可以看到, 所有雇员的姓名都转换为大写。
使用PROC FORMAT PROC FORMAT用于格式化用户定义的数据。我们可以根据需要格式化数据值或观察值。在下面给出的示例中, 我们应用了内置和用户定义的格式语句。
内置格式upcase9用于将小写文本转换为大写。对于用户定义的格式, 我们将变量dept的值从缩写更改为扩展形式, 即IT =信息技术, HR =人力资源。
DATA employee; INPUT empid name $ salary dept $; DATALINES; 1 Akash 22000 IT6 Jaya 23500 HR2 Vinita 33000 IT7 Kumar 27000 IT 4 Anita 53000 HR5 Taufik 32000 IT8 Boby 25000 IT3 Ankita 42000 IT ; proc format; value $DEP 'IT' = 'Information Technology''HR'= 'Human Resources'; RUN; PROC PRINT DATA = http://www.srcmini.com/employee; format name $upcase9. DEPT $DEP.; RUN;

在SAS Studio中执行以上代码:
SAS格式化数据集详细图解

文章图片
【SAS格式化数据集详细图解】输出
SAS格式化数据集详细图解

文章图片
从输出中可以看到, 所有雇员的姓名都被转换为大写字母, 部门的缩写也被转换为扩展形式。

    推荐阅读