ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:44.96KB ,
资源ID:19730666      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19730666.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验一 SAS基本内容文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验一 SAS基本内容文档格式.docx

1、DATA name ; /* 要建立的数据集名称*/INPUT variables; /* 指明数据集变量名称,为不超过8字符的字符串*/CARDS; /* 此句后面将读入数据 */Data lines; /* 数据行,两个数据间用至少一个空格隔开;用格式化输入,则数据要按指定格式输入 */; /* 表数据输入结束 */RUN; /* 程序运行 */ 自由输入建立SAS数据集INPUT 变量名 ;在INPUT后面依次列出变量名称,变量间至少一个空格,为可选项,变量名后输入$代表字符型变量,如果数据中每行有多余一组观测值,可在INPUT variables后加,表示指针不换行读入各组观测值例如:

2、 INPUT ID NAME $ VAR1 VAR2 VAR3 VAR4; /* 输入 6个变量,序号变量ID、字符型变量NAME及数值变量VAR1、VAR2、VAR3、VAR4 */ INPUT ID NAME $ VAR1 - VAR4; /* 6个变量名,NAME字符型*/ 格式化输入建立数据集方式一 列输入: 开始列通过指定变量取值所占列数输入相应值在每个变量名后,空一格指出变量值占据的列数 INPUT ID 1-2 NAME $ 4-20 VAR1 22-24 VAR2 26-30; /* 4个变量名,将1、2列的数值赋予变量ID,第4到20列字符赋予字符型变量NAME,22到24列

3、数值赋予VAR1*/方式二 格式化输入W.d格式:修饰符 输入格式W.d;W变量取值所占总列数,d表示从右到左小数部分列数此这种方式尤其适合于各变量间取值无空格、和无小数点的数据集例如INPUT ID 2NAME $ 10VAR1 5.2; /* 前2列赋予ID,第3列开始10列内容赋予非数值变量NAME,接下来5列赋予VAR1,最后两位为小数部分*/如果变量ID与NAME的值之间有三个空格,在读完ID的值后,指针从第3列跳到第6列开始读入NAME的值,应在ID2后空一格写上6(移到第6列)或+3(跳过3行),另外,数据间的空格也可并到变量值的位数中如果有连续几个变量的W.d格式相同,可用下列

4、简写形式: INPUT (variables) (W.d);如 INPUT (X Y Z)(2.1); INPUT (X1-X10)(2.)等例 8.1.1 设有数据集如下:LIMING 23 56 170 LIUHUA 25 60 174 ZHANGWEI 30 65 165相应变量分别为NAME,AGE,WEIGHT和HEIGHT,输入数据以建立一个名为examp8_1_1的SAS数据集方法一:自由格式输入数据以建立数据集,完整的SAS程序:data examp8_1_1; /* 建立数据集 examp8_1_1 */input name $ age weight height; /* 输

5、入变量 */cards; /* 以下为数据行*/LIMING 23 56 17 /* 数据和变量名对应,数据间用空格表示*/LIUHUA 25 60 174ZHANGWEI 30 65 165 /* 数据行结束*/run; /* 运行程序*/proc print data=examp8_1_1; /*打印输出数据集*/方法二:格式化输入:若上述程序中数据行的形式保持不变,数据之间空一格,只要INPUT语句修改即可input name $ 1-8 age 10-11 weight 13-14 height 16-18;/*或 input name $ 8.+1 age 2.+1 weight 2

6、.+1 height 3.; */*或 input name $ 8. 10 age 2. 13 weight 2. 16 height 3.;/*或 input name $ 9. age 3. weight 3. height 3.;方法三:如将NAME取值中的姓和名用一空格分开,且HEIGHT的值表成具有两位小数的形式,如下input name $ 9. +1 age 2. +1 weight 2. +1 height 3.2;/* 或input name $ 9. 11 age 2. 14 weight 2. 17 height 3.2;*/ /* name $ 9.说明NAME占9位

7、,正好姓名之间有空格*/LI MING 23 56 170LIU HUA 25 60 174ZHANG WEI 30 65 165方法四:如程序中数据集的变量之间无空格,且使height的变量值有2位小数的形式,可按如下input name $ 9. age 2. weight 2. height 3.2;/*或 input name $ 1-9 age 10-11 weight 12-13 height 3.2;LI MING 2356170LIU HUA 2560174ZHANG WEI3065165注意:必须按照名字占够9位(位数不够输入空格),年龄占10-11列,weight占12-1

8、3列,height占14-16列来输入程序,变量之间无空格结果为 1 LI MING 23 56 1.70 2 LIU HUA 25 60 1.74 3 ZHANG WEI 30 65 1.65例8.1.1建立的SAS数据集只能保存在SAS程序中调用被保存的SAS程序,加上进行分析的程序(如描述性分析程序),形成完整的程序,再在进行统计分析计算(3)建立永久数据集用Libname语句建立SAS永久数据集(name.sas7bdat),基本语句:Libname SAS数据库名“路径”; /*建立数据库引用名*/Data 数据集名; /*新建数据集名:数据库.数据集*/ Input 变量名;Car

9、ds;RUN;例8.1.2将上例建立永久数据集保存在E:lixiaoyan目录下,集名examp8_1_1.sas7bdat 程序:LIBNAME lxyE:lixiaoyan /* 新建立逻辑库引用名lxy,地址E:lixiaoyan,此地址用逻辑库名lxy代替 */DATA lxy. Examp8_1_1; /*建立数据集examp1_1_1,存此文件夹下,库引用名为lxy */LIMING 23 56 17 proc print data=lxy.examp8_1_1; 则在E:lxy,生成数据集文件examp8_1_1.sas7bdat10重新调入数据库文件examp8_1_1.sas

10、7bdat:在重新打开的程序窗口输入PROC PRINT DATA=lxy. examp8_1_1;即可调入数据库文件examp8_1_1.sas7bdat,并在输出窗口显示刚才的结果20 建立SAS逻辑库的方法也可以先建好逻辑库,这样相应数据库中的数据集可以用Set命令直接调用Set 逻辑库名.数据集名;创建逻辑库步骤:1.在“资源管理器”(Explorer)(左边视窗)窗口中,点“逻辑库(Library)”文件夹 (或点击:查看View-资源管理器) ;2.选择“文件”(Files)“新建(NEW)”,或在SAS环境窗口右击逻辑库,选择“新建”;3.在“新建逻辑库(NEW Library)

11、”窗口名称域(Names)中输入逻辑库名,如lxy.库名不超过8个字符;4.选择引擎(Engine)类型,一般选默认即可;5.如果希望以后SAS在启动时自动启用该逻辑库,选中“启动时启用(Enable at startuo)”复选框;6.“逻辑库信息”各区域中输入相应信息,路径(Path)中给出SAS文件所在路径(或点Browse找文件所在路径,找到文件夹双击);7.单击“确定”按钮,新逻辑库出现在SAS资源管理器窗口的逻辑库中.双击逻辑库及文件名,可以显示数据集.练习8.1 利用8.1.1 的数据集以建立一个名为ex8-1的SAS永久数据student.sas7bdat放在文件夹E:个人文件

12、夹下相应变量不变,增加序号ID(3位)、性别SEX,输入数据采用格式化输入height保留2位小数,姓和名之间加空格,并重新调用打印输出2. 利用外部数据文件建立SAS数据集(1)从外部文本文件读入数据利用SAS处理数据,经常是从外部文本数据文件中读入数据,建立一个数据集要求的外部数据文件必须是可以在Windows操作系统下用显示其全部内容的ASCII文件该文件的第一行就是数据,不可以是字段名,各变量值依次存放可用INFILE语句将其读入并建立SAS数据集,DATA程序步的三个主要步骤为: 启动一个数据步,命名将要创建的数据集(使用DATA语句) 确定要读入的外部文件(使用INFILE语句)

13、描述如何读入每一条记录(使用INPUT语句)如果需要在程序中直接嵌入数据,第二步用CARDS语句代替INFILE语句所对应的一般程序结构如下: /* 命名所要创建的数据集名 */INFILE drive location :file name; /* 读取外部文件,drive locationz指驱动器名及子目录名,file name是数据文件名(包含后缀) */ /* INPUT变量1读入模式 变量2 读入模式,变量模式要根据数据集中格式确定相应的变量输入格式,不能有汉字*/例8.1.3 从文本文件导入数据集有一文本文件a.txt存于E:lixiaoyan,内容如下:Beijing 338

14、93519 274803 66556 76347 18672 Tianjin 230 72335 198537 52635 55223 13105 Hebei 814 464146 1293887 318714 344686 67536 Shanxi 560 228292 647261 163273 186674 36985 InnerMongolia 372 179126 473568 117525 121274 24593 Liaoning 464 258609 685199 169848 180225 35586 Jilin 296 169907 451637 101107 123022

15、 22302 Heilongjiang 479 203315 546793 139441 185184 32648 Shanghai 344 106474 313811 91017 76222 17832 Jiangsu 844 494692 1373465 353177 330488 82855 Zhejiang 610 299904 860613 215649 191700 53303 Anhui 758 402700 1050188 248451 222229 45646 Fujian 614 255749 659758 159242 163985 40132 Jiangxi 642 2

16、94093 800049 198869 180557 43653将此文件调入建立数据集,并打印输出解:将此文件调入,并保存到如保存到E:lixiaoyan下,程序:* examp8_1_3;DATA lxy.b; INFILE lixiaoyana.txt INPUT name $ A B C D E F;PROC PRINT;lixiaoyan下新增文件b.sas7bdat如果只是建一个临时文件,前两行输入“data b;”即可练习8.2 文本文件E:个人文件夹a.txt,将其调入建同名数据集,存放此文件夹中(2)从已建立的SAS数据集中读入数据利用SET语句,可以从一个已存在的SAS数据集

17、依次读入每一个观测对数据做某种处理后,写入新数据集例如,刚才在E:lixiaoyan目录下,已经建立了数据集名examp8_1_1.sas7bdat,将此数据集读入建立新数据集LIBNAME lxy DATA d1;SET lxy.Examp8_1_1;(3)从其它数据库文件中导入数据 常用的数据管理软件将需要处理的数据录入到相应的数据库文件中,用SAS处理时,需将该数据格式的文件转换为SAS数据集可以使用数据导入(Import)功能,实现Access、Excel、dbf等常见数据格式与SAS数据集的无缝转换方式一:编程实现数据的导入导出例8.1.4 E:sassy 中文件climate.xl

18、s中有4个变量,编程将此文件将其转换为同名SAS数据集* examp8_1_4;LIBNAME ss sassy /* 引用逻辑库名ss,地址E:sassy */PROC IMPORT OUT= ss.climate /* IMPORT过程实现转换,输出的数据集名ss.climate ,库ss */DATAFILE= sassyclimate.xls /* 要导入的数据文件地址及文件名*/ DBMS=EXCEL REPLACE; /*指定要导入的数据库管理系统为Excel*/ SHEET= Sheet1$ /*指定电子表格中的表单为Sheet1*/ GETNAMES=YES; /* 指出第一行

19、是否有字段名*/方式二:使用向导实现数据的导入和导出:步骤:1)进入SAS系统,单击“文件(File)”,选“导入数据(Import Data)”,启动“向导(Import Wizard)”;2)从下拉列表选择所使用的数据源类型,如Microsoft Excel97 or 2000 work book,单击“下一步(NEXT)”按钮;3)选择数据源文件,比如“E:lixiaoyanbook1.xls”,单击“浏览(Browse)”,选中文件,单击“OK”按钮;4)选择数据表的表名(数据表有三个,选取需要的,如”Sheet1$”;5)选择建立何种数据集确定数据集存储位置数据库(library)如

20、lxy和数据集名(member)如c可事先利用LINBNAME语句建立一个逻辑库,或利用系统提供的User逻辑库,建立永久数据集如选library为ss, 成员写climate1(或从中选),单击下一步;6)单击“完成(Finish)”,如果需要将相应的操作写为程序文件,单击“Next”按钮;8)输入要建立的导入文件位置和文件名,单击“浏览”按钮,选择位置(如E:lixiaoyan)及文件名如c,产生一个程序文件c.sas,单击完成即可这样在E:lixiaoyan可以看到数据集c.sas7bdat 和程序文件c.sas再打开c.sas,就会出现如下程序:PROC IMPORT OUT= lxy

21、.CLIMATE1 DATAFILE= lixiaoyanc.xls DBMS=EXCEL2000 REPLACE; SHEET=要再次调入此数据集,键入程序: SET lxy.c;即可,输出结果同上3.利用已有的SAS数据集建立新的数据集(1)数据集的合并数据集的连接是把两个或两个以上的数据集的观测连接成一个新的数据集连接的方式有二种:串(拼)接和合并在SAS数据步中用SET语句可以拼接数据集,而用MERGE语句可以合并数据集例如我们有二个数据集A和B,要拼接和合并成新的数据集C,二种不同方法的程序和结果见示意图所示:例8.1.5 两数据集的拼接* examp8_1_5;Data A ;In

22、put common x ;Cards ;9801 19802 2 9803 3Data B ;9801 49802 59803 6Data C ;Set A B ;Proc print data=C ;Run;结果输出: Obs common x 1 9801 1 2 9802 2 3 9803 3 4 9801 4 5 9802 5 6 9803 6如果在“E:lixiaoyan”下,已经新建立了数据集,A.sas7dbat和B.sas7dbat,逻辑库如lxy已经调用(或设为永久库),则直接将A、B合并即可:Data lxy.C ;Set lxy.A lxy.B ;Proc print

23、data=Gg.C ;在“E:lixiaoyan”下,新建了数据集,C.sas7dbat结果如上例8.1.6 两数据集的合并Input common Y ;MERGE A B ;Obs common x Y 1 9801 1 4 2 9802 2 5 3 9803 3 6(2)变量值的排序有时需要将某个名为“name”的SAS数据集中的各观测变量按某个变量的取值由小到大(数值变量)或按字母顺序(非数值变量)排序,SAS语句形式为:PROC SORT DATA=name; /* 调用排序过程SORT*/BY variable; /* 按variable 排序*/例8.1.5 中,按变量值comm

24、on排序,程序:Proc Sort Data=C;By common; 1 9801 1 . 2 9801 . 4 3 9802 2 . 4 9802 . 5 5 9803 3 . 6 9803 . 6(3)删除数据集中的某些数据行(观测向量)DATA new name;SET A;IF conditions THEN DELETE;例如,练习8.1 在E:lixiaoyan建立的数据集examp8_1_1.Sas7bdat,删除第4行,程序:Libname ss /*数据集所在文件夹逻辑库*/data aa;set ss. examp8_1_1;If _N_=2 Then DELETE;RU

25、N ;Proc PRINT data=aa;Obs name age weight height 1 LIMING 23 56 17 2 ZHANGWEI 30 65 165Obs (4)删除数据集中某些变量及相应观测值DROP X1 Y1;(或KEEP X2 Y2 Y3;)(5)产生新变量及其观测值对一个SAS数据集,有时需要产生一个新变量和计算相应观测值例如,SAS系统只需对变量做相应运算,即可一次性产生新变量的各个观测值例如,SAS数据集“OLD”中,包含变量Y1,X1和X2,有n行数据,这时要产生一个名为“NEW”的新数据集,除包含原变量及其数据外,还要包含新变量Y和X,其中Y=lnY1, X=X1*X2,且要求打印出新数据集,SAS程序如下:DATA NEW;SET OLD;Y=LOG(YI);X=X1*X2;PROC PRINT DATA=NEW;例8.1.7 在下,有数据文件examp8_1_1.SAS7bdat,含有变量age和weight,要在此文件夹下建立新数据集NEW,并计算y=age+weight.LIBNAME SSDATA SS.NEW; /* 建立新数据集*/ SET SS.e

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1