数据价值-DataValues

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 444|回复: 0

[sas] sas – format和informat_SAS培训

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39035
发表于 2016-12-12 13:00:38 | 显示全部楼层 |阅读模式
sas – format和informat,
关键词:sas format informat、format informat,
informat和format的用法和区别。都是关于变量属性的,informat影响到SAS输入数据的格式,而format影响到数据的输出格式。     
   还是不直观,说个能操作的简单例子。
先说format。format影响到SAS的数据输出格式,举了个例子,输出当前时间:   
   data time;
   x=date();
   format x yymmdd8.2;
   put x=;
   run;
如果没有format那行,那么SAS系统就会把当前时间输出为一个数字(因为SAS就是用数字存储日期的),format就是指定x的输出格式,以便于阅读。   
format是改变输出格式,而informat则是关于SAS的读入格式。举个例子,假如D盘有个文本数据文件informat.txt,存的是一个时间变量time,有两个观测值:   
   time
   7/10/1998
   7/11/1998
要是这么读入它,就会出错:   
   data a;
   infile “d:\informat.txt” firstobs=2;
   input time;
   run;
   
先解释一下这段。这是一个标准的读入数据的程序,infile “d:\informat.txt”指明文件路径,后面的firstobs=2表明数据从第二行开始读入(因为第一行是变量名time)。   
   如果是数值型的 变量,这一定没问题,但这个time的格式是1998-7-11,SAS就读不了,如果不指定time的读入格式。
规定读入格式,就要用到informat了,下面的程序就能正确读入informat.txt了:   
   data aa;
   infile “d:\informat.txt” firstobs=2;
   input time;
   informat time yymmdd10.;
   run;
informat time yymmdd10.就规定了time的读入格式,SAS系统就知道它存的是时间,就读进来了。读是读进来了,但这是SAS显示的却也是数字。   
   为了让输出我们能明白,就要用到format,改变输出格式,完整的程序如下:
   data aaa;
   infile “d:\informat.txt” firstobs=2;
   input time;
   informat time yymmdd10.;
   format time yymmdd10.;
   run;,
假定数据集a 中 一数值型变量sales_day_id ,其值格式为20110205   ,
把其格式转换为日期型的方法可用   
    data b;
      set a;
      sales_day=input( put(sales_day_id,$8.), yymmdd10.);
      format sales_day yymmdd10.;
   run;,
存个不相干滴 O(∩_∩)O哈哈~:,
format是保持在work里面的            
   保存到work1里面后的调用方法      
proc formatlibrary=work1;        
            value $sx \’M\’ = \’MALE\’        
                      \’F\’ = \’FEMALE\’        
                    other = \’OTHER\’        
   ;        
   run;        
   options fmtsearch=(work work1);       ,,
SAS中format和informat的区别,
format 是定义输出格式 就是我们看到的,
informat 是定义输入格式 就是读进去的时候,
转载请注明:数据分析 » sas – format和informat_SAS培训
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|DataValues ( 赣ICP备16006919号 ) DataValues

GMT+8, 2019-11-12 09:15 , Processed in 0.118354 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表