Ch4SAS的输入输出格式

上传人:人*** 文档编号:577961323 上传时间:2024-08-23 格式:PPT 页数:36 大小:820.02KB
返回 下载 相关 举报
Ch4SAS的输入输出格式_第1页
第1页 / 共36页
Ch4SAS的输入输出格式_第2页
第2页 / 共36页
Ch4SAS的输入输出格式_第3页
第3页 / 共36页
Ch4SAS的输入输出格式_第4页
第4页 / 共36页
Ch4SAS的输入输出格式_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《Ch4SAS的输入输出格式》由会员分享,可在线阅读,更多相关《Ch4SAS的输入输出格式(36页珍藏版)》请在金锄头文库上搜索。

1、Slide 1彭斌SAS格式与格式化输入格式与格式化输入Slide 2彭斌SAS的输入输出格式的输入输出格式SAS的变量包含数值型和字符型变量。SAS系统对数值型、字符型和日期时间数据提供了许多输入、输出格式。用户可以用FORMAT过程来定义自己的格式。什么是格式什么是格式(Format)? Format is an instruction the SAS System uses to display or write each value of a variable. SAS有输入格式和输出格式。输入格式输入格式通常在input语句中使用,输出格式输出格式通常在format语句中使用。Sli

2、de 3彭斌输入输出格式输入输出格式原始数据值原始数据值SAS变量的值变量的值格式化的格式化的SAS变量值变量值Informatdollar10.Formatcomma8.548,23125JAN20041609501/25/2004InformatDate9.FormatMMDDYY10.$548,231548231Informat(输入格式)(输入格式)Format(输出格式)(输出格式)Slide 4彭斌日期和时间数据的存储日期和时间数据的存储SAS采用数值数值存储日期和时间形式的数据。在默认情况下,SAS系统以0代表1960年1月1日0时。其它日期在SAS系统中被存储为与该日期相差的天

3、数。例如,1960年1月3日,在系统中存为2。 2004年1月25日,在系统中存为16095。注意:为了使数值型变量显示日期形式,必须使用日期型的输出格式,同样地为了以日期形式输入日期必须使用日期型的输入格式。 Slide 5彭斌输入格式输入格式1、数值型变量、数值型变量 只介绍两个比较特殊的格式: COMMAw.d :用于数据中包含逗号:用于数据中包含逗号(,)的数据形式的数据形式 DOLLARw.d :用于数据前面有美元符:用于数据前面有美元符($)的数据形式的数据形式说明:w:宽度,表示数值域所含的列数。小数点占一列。 d:小数位数。d可以省略。 例如: 5.2,表示该变量的数据占5列,

4、其中后两位是小数位。 注意:一定要弄清数据占据的列数,否则极易出错。Slide 6彭斌data a;input x comma7. y comma7.;cards;12,002 34,2312,210 21,311;run;proc print;run; OUTPUT: Obs x y 1 12002 34231 2 2210 21311例例1.有如下两列数据,数据中包有逗号,请建立一个有如下两列数据,数据中包有逗号,请建立一个SAS数据集,变量为数据集,变量为x、y。 12,002 34,231 2,210 21,311数字数字7是怎是怎么来的么来的?Slide 7彭斌data a;inpu

5、t x comma7.2 y comma7.4;cards;12,002 34,2312,210 21,311;run;proc print;run; OUTPUT: Obs x y 1 120.02 3.4231 2 22.10 2.1311例例2.有如下两列数据,其中第一列后两位数字为小数,第有如下两列数据,其中第一列后两位数字为小数,第二列后二列后4位为小数,例如第一个数据位为小数,例如第一个数据12,002读入后应为读入后应为120.02。请建立一个。请建立一个SAS数据集,变量为数据集,变量为x、y。 12,002 34,231 2,210 21,311Slide 8彭斌data a

6、;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例例3.有如下两列数据,数据中包有有如下两列数据,数据中包有$和逗号,请建立和逗号,请建立一个一个SAS数据集,变量为数据集,变量为x、y。(例如例如$12,002读入后读入后应为应为12002 ) $12,002 $34,231 $2,210 $21,311Slide 9彭斌data a;input x dollar8.2 y dollar8

7、.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例例4.有如下两列数据,其中第一列后两位数字为小数,有如下两列数据,其中第一列后两位数字为小数,第二列后第二列后4位为小数,例如第一个数据位为小数,例如第一个数据$12,002读入后应读入后应为为120.02。请建立一个。请建立一个SAS数据集,变量为数据集,变量为x、y。 $12,002 $34,231 $2,210 $21,311Slide 10彭斌2、字符型变量、字符型变量只介绍一

8、个格式:$CHARw. :读取包含空格的连续字符:读取包含空格的连续字符 例例5.下面是一些人名,请将其读入到一个变量下面是一些人名,请将其读入到一个变量NAME中,中,注意:姓和名之间有一个空格,建立的注意:姓和名之间有一个空格,建立的SAS数据集如右数据集如右边的形式。边的形式。 Bill Clinton George Bush Tony Blair Saddam Hussein Vladimir PutinObsname1Bill Clinton2George Bush3Tony Blair4Saddam Hussein5Vladimir PutinSlide 11彭斌 data a;

9、input name $ char14.; cards; Bill Clinton George Bush Tony Blair Saddam Hussein Vladimir Putin ; proc print; run; Obs name 1 Bill Clinton 2 George Bush 3 Tony Blair 4 Saddam Hussein 5 Vladimir Putin如果将如果将char14.去掉,语句去掉,语句改为:改为:input name $;结果是什么样的呢?结果是什么样的呢?Slide 12彭斌3、日期数据、日期数据日期数据的读入通常需要运用日期型的格式。S

10、lide 13彭斌输出格式输出格式日期型数据的输入输出格式大部份是相同的,下面是几个常用的:日期型数据的输入输出格式大部份是相同的,下面是几个常用的:Slide 14彭斌该例中日期数据的形式是什么样的?例例6.有如下的日期数据,请建立一个有如下的日期数据,请建立一个SAS数据集数据集EX6存储,存储,并以日期的形式显示出来。并以日期的形式显示出来。1Jan200203 Jan 200315/May/200412-FEB-200517*May* %20061*OCT*200730%sep%/2008DD MMM YYYY故选择DATEw.输入格式Slide 15彭斌 data b; input

11、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;Obsdd101JAN2002203JAN2003315MAY2004412FEB2005517MAY2006601OCT2007730SEP20081Jan200203 Jan 200315/May/200412-FEB-200517*May* %20061*OCT*200730%sep%/2008Slide 16彭斌例

12、例7.有如下的日期数据,请建立一个有如下的日期数据,请建立一个SAS数据集数据集EX7存储,存储,并以日期的形式显示出来。并以日期的形式显示出来。01312002031220035 13 20044 21 20055 25 20061/2/20073-24-2008该例中日期数据的形式是什么样的?MM DD YYYY故选择MMDDYY10.输入格式Slide 17彭斌01312002031220035 13 20044 21 20055 25 20061/2/20073-24-2008data b;input dd mmddyy10.;format dd mmddyy10.;cards;013

13、12002031220035 13 20044 21 20055 25 20061/2/20073-24-2008;proc print;run;Obsdd101/31/2002203/12/2003305/13/2004404/21/2005505/25/2006601/02/2007703/24/2008Slide 18彭斌自定义格式自定义格式使用PROCFORMAT过程进行格式的自定义。 PROC FORMAT ; INVALUE 格式名格式名 格式格式; VALUE 格式名格式名 格式格式; 其中,其中,invalue定义输入格式,定义输入格式,value定义输出格式。定义输出格式。下

14、面只介绍定义下面只介绍定义输出格式输出格式。Slide 19彭斌语法:语法: PROCFORMAT; VALUE 自定义输出格式名字自定义输出格式名字 定义的格式定义的格式 ; RUN; 自定义输出格式名字自定义输出格式名字:应符合:应符合SAS的命名要求,注意最后一的命名要求,注意最后一个字符不能是数字。个字符不能是数字。定义的格式定义的格式: 原始值原始值=格式化的输出值格式化的输出值如:如:value testf 1-5=“1-5” 6-=10”; value ynf 1=“是是” 2=“否否”; value $grpf “A”=“试验组试验组” “B”=“对照组对照组”;Slide 2

15、0彭斌例例8.下面是我们班下面是我们班“问卷调查问卷调查”资料的部份数据。变量资料的部份数据。变量sex的赋值是:的赋值是:1=Male,2=Female,变量变量Band46的赋值是:的赋值是:A=增加增加, B=不变不变, C=减弱减弱 ,请建立一个,请建立一个SAS数据集数据集EX8,对变量sex、Band46进行格式化。Slide 21彭斌 data qespart; input id$ sex height weight band46$; cards; cnw1r01215449C cnw1r02116964B cnw1r04116967A cnw1r05215350B cnw1r0

16、6216050A cnw2r02215646A cnw2r03117362B cnw2r04116857B cnw2r05215545B ; run; proc print; run;Obsidsexheightweightband461cnw1r01215449C2cnw1r02116964B3cnw1r04116967A4cnw1r05215350B5cnw1r06216050A6cnw2r02215646A7cnw2r03117362B8cnw2r04116857B9cnw2r05215545BSlide 22彭斌PROC FORMAT; VALUE sexfmt 1=Male 2=Fe

17、male ; VALUE $bandfmt A=增加增加 B=不变不变 C=减弱减弱 ;RUN;首先建立相应的输出格式首先建立相应的输出格式上面建立了两种类型的输出格式:上面建立了两种类型的输出格式: 一种是一种是数值型数值型的,即的,即sexfmt,要求,要求=号左边为数值型数值或区间,如号左边为数值型数值或区间,如上面的上面的1、2为数值;为数值; 另一种是另一种是字符型字符型的,即的,即$bandfmt,$表明该格式是字符型表明该格式是字符型,要求,要求=号左号左边为字符或字符区间,如边为字符或字符区间,如A 、 B 、 C 。Slide 23彭斌DATA qesfmt;SET qesp

18、art;FORMAT Sex sexfmt. Band46 bandfmt. ;RUN;PROC Print;RUN;Obsidsexheightweightband461cnw1r01Female15449减弱2cnw1r02Male16964不变3cnw1r04Male16967增加4cnw1r05Female15350不变5cnw1r06Female16050增加6cnw2r02Female15646增加7cnw2r03Male17362不变8cnw2r04Male16857不变9cnw2r05Female15545不变格式化后打印输出的数据格式化后打印输出的数据 对变量进行格式化Sli

19、de 24彭斌PROC FORMAT; VALUE heighfmt LOW - 150 = 150 150- 155 = 150-155 155- 160 = 155-160 160- 165 = 160-165 165- 170 = 165-170 170- 175 = 170-175 175- =180;RUN;利用格式对连续型变量的离散化分组利用格式对连续型变量的离散化分组(频数表编制频数表编制)例例9. 对对“问卷调查问卷调查”资料中的身高编制频数表,组距取资料中的身高编制频数表,组距取5CM,小,小于于150为第一组,为第一组,150-155为第二组为第二组在数据步中运用格式:在数

20、据步中运用格式: Format height heighfmt.;加标签加标签: label height =身高身高;Slide 25彭斌Obsclassid身高身高weight134 cnw1l01175-18070.0234 cnw1l02175-18070.0334 cnw1l03155-16047.0434 cnw1l04160-16548.0heightFrequencyPercentCumulativeFrequencyCumulativePercent150-1551914.181914.18155-1602216.424130.60160-1653828.367958.961

21、65-1702014.939973.88170-1752115.6712089.55175-180107.4613097.01=18042.99134100.00打印数据集的内容打印数据集的内容(部份部份)用用FREQ过程生成的频数表过程生成的频数表Slide 26彭斌 SAS system Help “索引索引” 输入输入“FORMAT procedure”Slide 27彭斌SAS函数函数Slide 28彭斌1.SAS函数的定义 SAS函数是一个子程序,它由0个或几个自变量返回一个结果值。每个SAS函数都有一个关键词名字。SAS函数的形式为: Function Name(argument,

22、.) 例如: MEAN(x,y,z,a) SUM(x,y,z) MIN(SUM(x,y,z),1000)Slide 29彭斌2. SAS函数的分类: SAS函数种类多,常用的有: 算术函数、数组函数、截取函数、数学函数、概率函数、分位数函数、非中心函数、样本统计函数、随机函数、字符函数、日期时间函数等。 3. 参数的表示法,三种方式均可: Function Name(OF variable1-variablen) Function Name(OF variable variable .) Function Name(variable, variable, .) 例如: sum(of x1-x5

23、) sum(of x1 x2 x3 x4 x5) sum(x1,x2,x3,x4,x5) 是等价的。Slide 30彭斌三. 函数的分类 SAS函数主要分为以下几类:1、数学函数 abs():求绝对值 mod(var1,var2):求var1除以var2后的余数 sqrt():求平方根值 int():取整函数,截取小数部分 round(var,规定):按规定四舍五入。规定取:0.1,0.01, log():计算以e为底的对数值 log10():计算以10为底的对数值2、三角函数3、概率分布函数 Slide 31彭斌 4、样本统计函数 max():求最大值 min():求最小值 mean():求

24、均数 std():求标准差 sum():求和5、随机函数 normal():产生一个正态分布的伪随机数 rannor():产生一个标准正态分布的随机数6、字符函数 substr():从一个字符串中抽取或取代一个指定的子串 trim():去掉字符串尾部的空格7、日期时间函数 year():从变量中抽取“年份”值 month():从变量中抽取“月份”值 day():返回变量的天数值 mdy(月,日,年):将变量转换成日期值形式具体的函数请查阅具体的函数请查阅: SAS Online Help-SAS Language-SAS FunctionsSlide 32彭斌列输入列输入Slide 33彭斌列

25、输入列输入列输入方式是用来读入严格按列排好的标准数据Input 变量名 开始列-结束列 ;条件:同一变量原始数据值在相同的列中特点:1.可以按任意顺序读入数据 2.字符型数据中间可以有空格 3.可以重复读取原始数据中的某一部份 4.空格和小数点都作为缺失值处理 5.忽略开始和结尾部分的空格Slide 34彭斌例子例子data a;input ques $ 1-17 age 3.1 gender$ 21-26 city $27-34 ;cards;I am here for you 23male 大 连 Are you there 26female 重 庆haha 22male 哈尔滨yes i

26、 am here 30female ;proc print;run;Slide 35彭斌手机号码信息分解手机号码信息分解手机号码一编码规则一般是:YYY-XXXX-ZZZZ,其YYY为号段;XXXX一般为所在地区编码;ZZZZ为对应的个人识别编号。说明: 移动:134-139、150、151、152、157、158、159、188 联通:130、131、132、155、156 电信:133、153、180、1891357851051X1508311759X1327313520X1556443719X1804346016X1513441713X1308279203X1897876466XSlide 36彭斌参考程序参考程序data b;input x1 1-3 x2 4-7 x3 $8-11 x4 $1-11;cards; 1357851051X 1508311759X 1327313520X 1556443719X 1804346016X 1513441713X 1308279203X 1897876466X;proc print;run;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号