SAS的输入输出格式_第1页
SAS的输入输出格式_第2页
SAS的输入输出格式_第3页
SAS的输入输出格式_第4页
SAS的输入输出格式_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SAS的输入输出格式 SAS的输入输出格式 n什么是格式什么是格式(Format)? Format is an instruction the SAS System uses to display or write each value of a variable. 即:读入不同格式的数据,并按不同要求显示数据。 n常见数据的数据格式: 字符型 数值型 日期时间型 用户自定义型( 用FORMAT过程定义) n注:除自定义类型外,其他类型的数据SAS系统均已定义好了相应的格式,只需 要调用即可 n输入格式和输出格式的使用:输入格式输入格式input语句中使用,输出格式输出格式format语句 中

2、使用。 SAS的输入输出格式 1、字符型、字符型输入/输出格式 n1、输入格式:、输入格式:$w. 和和 $CHARw. 共同特点:缺省值均为变量的长度 不同点: $w. :必须指定w的值,不保留字符串前的空格 $CHARw.:w的缺省值为8,保留字符串前的空格 2、输出格式:、输出格式:$w. 和和 $CHARw. 共同特点:保留字符串前的空格共同特点:保留字符串前的空格 注:一个汉字占两个字节注:一个汉字占两个字节 SAS的输入输出格式 Obsname 1 Bill Clinton 2 George Bush 3 Tony Blair 4 Saddam Hussein 5 Vladimir

3、 Putin 例例1.下面是一些人名,请将其读入到一个变量下面是一些人名,请将其读入到一个变量NAME中,中, 注意:姓和名之间有一个空格,建立的注意:姓和名之间有一个空格,建立的SAS数据集如右数据集如右 边的形式。边的形式。 Bill Clinton George Bush Tony Blair Saddam Hussein Vladimir Putin 1、字符型、字符型输入/输出格式 SAS的输入输出格式 data a; input name $ char14.; cards; Bill Clinton George Bush Tony Blair Saddam Hussein Vla

4、dimir Putin ; proc print; run; Obs name 1 Bill Clinton 2 George Bush 3 Tony Blair 4 Saddam Hussein 5 Vladimir Putin $CHARw. :读取包含空格的字符串:读取包含空格的字符串 如果将如果将char14.去掉,语句改去掉,语句改 为:为:input name $; 结果是什么样的呢?结果是什么样的呢? SAS的输入输出格式 2、数值型、数值型输入/输出格式 n1、输入格式:、输入格式:w.d w.d:读入宽度为w的原始数据,并存为SAS数值,也能自动 读入以浮点方式表示的原始数据

5、。 遵循以下原则: SAS的输入输出格式 2、数值型、数值型输入/输出格式 2、输出格式:、输出格式: Bestw.d, w.d 和和 Ew. Bestw.d:系统默认格式(相当于后两种格式的自动识:系统默认格式(相当于后两种格式的自动识 别)。别)。w缺省值为缺省值为12,最大值可达最大值可达32 w.d:将数值用不超过将数值用不超过d位小数及总宽度不超过位小数及总宽度不超过w位的定点位的定点 数表示数表示 Ew. :用宽度不超过:用宽度不超过w的浮点数表示的浮点数表示 注:宽度设置不合适时,自动调用SAS系统同宽度的Best格式表示。 SAS的输入输出格式 n1、特殊的输入格式、特殊的输入

6、格式 COMMAw.d :专为读入金额的数据而设:专为读入金额的数据而设 置。读入宽度为置。读入宽度为w的字符串,并能自动去的字符串,并能自动去 除逗号,空格,美圆符号和短横线,保留除逗号,空格,美圆符号和短横线,保留 数字和小数点,还可将用括号括起来的数数字和小数点,还可将用括号括起来的数 据记为负数。读入后按格式据记为负数。读入后按格式w.d记入数值。记入数值。 DOLLARw.d 为其别名。为其别名。 2、数值型、数值型输入/输出格式 SAS的输入输出格式 n2、特殊的输出格式:、特殊的输出格式: COMMAw.d 和和 DOLLARw.d COMMAw.d :将数值以包含小数位数不:将

7、数值以包含小数位数不 超过超过d位的定点数表示,并在整数部分自位的定点数表示,并在整数部分自 右往左每三位用逗号分隔,总字符数不超右往左每三位用逗号分隔,总字符数不超 过过w。COMMA6.为其缺省设置。为其缺省设置。 DOLLARw.d 在在COMMA表示的数据左表示的数据左 侧加上美圆符号。侧加上美圆符号。 2、数值型、数值型输入/输出格式 SAS的输入输出格式 data a; input x comma7. y comma7.; cards; 12,002 34,231 2,210 21,311 run; proc print; run; OUTPUT: Obs x y 1 12002

8、34231 2 2210 21311 例例2.有如下两列数据,数据中包含有逗号,请建立一有如下两列数据,数据中包含有逗号,请建立一 个个SAS数据集,变量为数据集,变量为x、y。 12,002 34,231 2,210 21,311 SAS的输入输出格式 data a; input x comma7.2 y omma7.4; cards; 12,002 34,231 2,210 21,311 run; proc print; run; OUTPUT: Obs x y 1 120.02 3.4231 2 22.10 2.1311 例例3.有如下两列数据,其中第一列后两位数字为小数,第有如下两列数

9、据,其中第一列后两位数字为小数,第 二列后二列后4位为小数,例如第一个数据位为小数,例如第一个数据12,002读入后应为读入后应为 120.02。请建立一个。请建立一个SAS数据集,变量为数据集,变量为x、y。 12,002 34,231 2,210 21,311 SAS的输入输出格式 data a; input x dollar8. y dollar8.; cards; $12,002 $34,231 $2,210 $21,311 run; proc print; run; OUTPUT: Obs x y 1 12002 34231 2 2210 21311 例例4.有如下两列数据,数据中包

10、有有如下两列数据,数据中包有$和逗号,请建立和逗号,请建立 一个一个SAS数据集,变量为数据集,变量为x、y。(例如例如$12,002读入后读入后 应为应为12002 ) $12,002 $34,231 $2,210 $21,311 SAS的输入输出格式 data a; input x dollar8.2 y dollar8.4; cards; $12,002 $34,231 $2,210 $21,311 run; proc print; run; OUTPUT: Obs x y 1 120.02 3.4231 2 22.10 2.1311 例例5.有如下两列数据,其中第一列后两位数字为小数,

11、有如下两列数据,其中第一列后两位数字为小数, 第二列后第二列后4位为小数,例如第一个数据位为小数,例如第一个数据$12,002读入后应读入后应 为为120.02。请建立一个。请建立一个SAS数据集,变量为数据集,变量为x、y。 $12,002 $34,231 $2,210 $21,311 SAS的输入输出格式 n日期,时间,日期时间型的数据均以日期,时间,日期时间型的数据均以 与与0值的差值数据存入计算机。值的差值数据存入计算机。 n零点值的规定零点值的规定 日期型:日期型: 0 值(值(1960.1.1),其他日期为与其的差值),其他日期为与其的差值 时间型:时间型: 0值(值(0时时0分分

12、0秒)秒) 日期时间型日期时间型 0值值(1960年年1月月1日日0时时0分分0秒)秒) 3、日期时间型、日期时间型输入/输出格式 SAS的输入输出格式 n1、日期输入格式、日期输入格式 :YYMMDDw. 读入的数据形式为:读入的数据形式为:yymmdd / yyyymmdd W:6-32,缺省为缺省为6 其他格式:其他格式:MMDDYYw. 和和DDMMYYw. MMDDYYw.读入的数据形式为:读入的数据形式为:mmddyy/mmddyyyy DDMMYYw.读入的数据形式为:读入的数据形式为:ddmmyy/ddmmyyyy 3、日期时间型、日期时间型输入/输出格式 SAS的输入输出格式

13、 n2、日期输出格式、日期输出格式 :YYMMDDxw. 读入的数据形式为:读入的数据形式为:yymmdd / yyyymmdd W:2-10(x为为N时,时,2-8),缺省为缺省为8 x B C D N P S 分隔符分隔符 空格空格 : - 无无 . / YYMMDDw.相当于相当于YYMMDDDw. 其他格式:其他格式:MMDDYYxw. 和和DDMMYYxw. 3、日期时间型、日期时间型输入/输出格式 SAS的输入输出格式 n3、特殊日期输入、特殊日期输入/输出格式:输出格式:DATEw. 输入/输出日期的格式为: ddmmmyy/ddmmmyyyy 缺省方式为DATE7. 3、日期时

14、间型、日期时间型输入/输出格式 SAS的输入输出格式 n3、特殊日期输入、特殊日期输入/输出格式:输出格式:DATEw. 输入/输出日期的格式为: ddmmmyy/ddmmmyyyy 缺省方式为DATE7. 3、日期时间型、日期时间型输入/输出格式 SAS的输入输出格式 n4、时间输入格式:、时间输入格式:TIMEw. 读入的时间形式为:读入的时间形式为:hh:mm:ss.ss 时分秒间的分隔符有:(时分秒间的分隔符有:(:),(空格),(:),(空格),(-);还有);还有PM,AM 例:例:1 40 35.37 PM 读入格式读入格式time14. 49235.37 输出格式输出格式 ti

15、meampm13.2 1:40:35.37 PM n5、时间输出格式:、时间输出格式:TIMEw.d d:可指明秒数包含的小数位数。可指明秒数包含的小数位数。 输出时总带有分隔符(:)输出时总带有分隔符(:) 宽度不够时,先显示小时数,再是分钟,再是秒数。宽度不够时,先显示小时数,再是分钟,再是秒数。 3、日期时间型、日期时间型输入/输出格式 SAS的输入输出格式 n6、日期时间输入格式:、日期时间输入格式:DATETIMEw. 读入的日期时间形式为:读入的日期时间形式为:ddmmmyy hh:mm:ss.ss/ddmmmyyyy hh:mm:ss.ss W:13-40,缺省缺省18 n7、日

16、期时间输出格式:日期时间输出格式:DATETIMEw.d 输出格式形式:输出格式形式: ddmmmyy:hh:mm:ss.ss/ddmmmyyyy:hh:mm:ss.ss W:7-40,缺省缺省16 宽度不够时,从秒数开始截尾,宽度足够时(宽度不够时,从秒数开始截尾,宽度足够时(w=19+d)时自动显示时自动显示 四位数的年份。四位数的年份。 3、日期时间型、日期时间型输入/输出格式 SAS的输入输出格式 nYEARCUTOFF=1920(此值可修改)此值可修改) 管理管理100年的时间:年的时间:1920-2019 例:例:12/07/41 表示表示12/07/1941 18Dec15 表示

17、表示18Dec2015 3、两位数年份、两位数年份输入 SAS的输入输出格式 data b; input dd date15.; format dd date9.; cards; 1Jan2002 03 Jan 2003 15/May/2004 12-FEB-2005 17*May* %2006 1*OCT*2007 30%sep%/2008 ; proc print; run; Obsdd 101JAN2002 203JAN2003 315MAY2004 412FEB2005 517MAY2006 601OCT2007 730SEP2008 1Jan2002 03 Jan 2003 15/M

18、ay/2004 12-FEB-2005 17*May* %2006 1*OCT*2007 30%sep%/2008 SAS的输入输出格式 5 13 2004 4 21 2005 5 25 2006 1/2/2007 3-24-2008 data b; input dd mmddyy10.; format dd mmddyy10.; cards; 5 13 2004 4 21 2005 5 25 2006 1/2/2007 3-24-2008 ; proc print; run; Obsdd 101/31/2002 203/12/2003 305/13/2004 404/21/2005 505/

19、25/2006 601/02/2007 703/24/2008 SAS的输入输出格式 4、自定义自定义格式 n使用PROCFORMAT过程进行格式的自 定义。 PROC FORMAT ; INVALUE 格式名格式名 格式格式; VALUE 格式名格式名 格式格式; RUN; INVALUE:定义输入格式:定义输入格式 VALUE : 定义输出格式。定义输出格式。 下面只介绍定义下面只介绍定义输出格式输出格式(自定义格式比较特别)。自定义格式比较特别)。 SAS的输入输出格式 语法:语法: PROCFORMAT; VALUE 自定义输出格式名字自定义输出格式名字 定义的格式定义的格式 ; RU

20、N; 自定义输出格式名字:应符合自定义输出格式名字:应符合SAS的命名要求,注的命名要求,注 意最后一个字符不能是数字。意最后一个字符不能是数字。 定义的格式:定义的格式: 原始值原始值=格式化的输出值格式化的输出值 4、自定义自定义格式 SAS的输入输出格式 例例6.下面是下面是 “问卷调查问卷调查”资料的部份数据。变量资料的部份数据。变量sex的赋的赋 值是:值是:1=Male,2=Female,变量变量Band46的赋值是:的赋值是:A=增增 加加, B=不变不变, C=减弱减弱 ,请建立一个,请建立一个SAS数据集数据集EX,对变 量sex、Band46进行格式化。 SAS的输入输出格

21、式 data qespart; input id$ sex height weight band46$; cards; cnw1r01215449C cnw1r02116964B cnw1r04116967A cnw1r05215350B cnw1r06216050A cnw2r02215646A cnw2r03117362B cnw2r04116857B cnw2r05215545B run; proc print; run; Obsidsexheightweightband46 1 cnw1r01215449 C 2 cnw1r02116964 B 3 cnw1r04116967 A 4

22、cnw1r05215350 B 5 cnw1r06216050 A 6 cnw2r02215646 A 7 cnw2r03117362 B 8 cnw2r04116857 B 9 cnw2r05215545 B SAS的输入输出格式 PROC FORMAT; VALUE sexfmt 1=Male 2=Female ; VALUE $bandfmt A=增加增加 B=不变不变 C=减弱减弱 ; RUN; 首先建立相应的输出格式首先建立相应的输出格式 上面建立了两种类型的输出格式:上面建立了两种类型的输出格式: 一种是数值型的,即一种是数值型的,即sexfmt,要求,要求=号左边为数值型数值或区间,如号左边为数值型数值或区间,如 上面的上面的1、2为数值;为数值; 另一种是字符型的,即另一种是字符型的,即$bandfmt,$表明该格式是字符型表明该格式是字符型,要求,要求=号号 左边为字符或字符区间,如左边为字符或字符区间,如A 、 B 、 C 。 SAS的输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论