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

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 22000
6 Jaya 55 63 23500
2 Vinita 34 68 33000
7 Kumar 43 64 27000  
4 Anita 29 65 53000
5 Taufik 21 45 32000  
8 Boby 32 71 25000
3 Ankita 40 69 42000  
;  
run;
   PROC PRINT DATA = employee; 
run;

在SAS Studio中执行以上代码:

格式化数据集

输出

格式化数据集

从输出中可以看到, 所有雇员的姓名都转换为大写。

使用PROC FORMAT

PROC FORMAT用于格式化用户定义的数据。我们可以根据需要格式化数据值或观察值。在下面给出的示例中, 我们应用了内置和用户定义的格式语句。

内置格式upcase9用于将小写文本转换为大写。对于用户定义的格式, 我们将变量dept的值从缩写更改为扩展形式, 即IT =信息技术, HR =人力资源。

DATA employee; 
   INPUT empid name $ salary dept $; 

DATALINES; 
1 Akash 22000 IT
6 Jaya 23500 HR  
2 Vinita 33000 IT  
7 Kumar 27000 IT 
4 Anita 53000 HR  
5 Taufik 32000 IT  
8 Boby 25000 IT   
3 Ankita 42000 IT 
;
proc format;
value $DEP 'IT' = 'Information Technology'
      'HR'= 'Human Resources';
RUN;
   PROC PRINT DATA = employee; 
format name $upcase9. DEPT $DEP.; 
RUN;

在SAS Studio中执行以上代码:

格式化数据集

输出

格式化数据集

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


赞(0)
未经允许不得转载:srcmini » SAS格式化数据集详细图解

评论 抢沙发

评论前必须登录!