SAS_Basic7.ppt_第1页
SAS_Basic7.ppt_第2页
SAS_Basic7.ppt_第3页
SAS_Basic7.ppt_第4页
SAS_Basic7.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、优化输出和创建新变量,Dr. Baokun Li 经济实验教学中心 商务数据挖掘中心,优化 SAS 输出,TITLE 语句 为Proc程序块的输出作标记 LABEL 语句 为变量名称作标记 FORMAT 语句 为变量的数值作标记,标准输出 The FREQ Procedure Cumulative Cumulative clinic Frequency Percent Frequency Percent - A 18 18.00 18 18.00 B 29 29.00 47 47.00 C 36 36.00 83 83.00 D 17 17.00 100 100.00 优化输出 Number

2、of Patients by Clinic The FREQ Procedure Clinical Center Cumulative Cumulative clinic Frequency Percent Frequency Percent - Birmingham 18 18.00 18 18.00 Chicago 29 29.00 47 47.00 Minneapolis 36 36.00 83 83.00 Pittsburgh 17 17.00 100 100.00,标准输出 The FREQ Procedure Cumulative Cumulative sebl_6 Frequen

3、cy Percent Frequency Percent - 1 70 70.00 70 70.00 2 23 23.00 93 93.00 3 6 6.00 99 99.00 4 1 1.00 100 100.00 优化输出 The FREQ Procedure Patient Report Headaches Cumulative Cumulative sebl_6 Frequency Percent Frequency Percent - None 70 70.00 70 70.00 Mild 23 23.00 93 93.00 Moderate 6 6.00 99 99.00 Seve

4、re 1 1.00 100 100.00,TITLE 语句 PROC FREQ DATA=tdata; TABLES clinic group sex educ sebl_1 sebl_6; TITLE Distribution of Selected Variables; TITLE2 on the TOMHS Dataset ; RUN; TITLE 语句可以放在程序的任何地方。最好是放在过程 步里面 title可随时改变 使用格式为:TITLE(n)文字,Label 语句 LABEL clinic = Clinical Center; LABEL group = Drug Treatme

5、nt Group; LABEL educ = Highest Education Attained; LABEL sebl_1 = Patient Report Drowsiness; LABEL sebl_6 = Patient Report Headaches; Label 语句可以放在数据步或过程步内的任何地方(但不可在中间)。,Format 语句 FORMAT brthdate mmddyy10. ; FORMAT clinic $clinic. ; FORMAT group group. ; FORMAT fever headache se. ; 告诉SAS 根据format(格式)

6、显示变量的数值 Format 语句可以放在数据步或过程步内的任何地方 既有内置format (例如日期),也有用户定义的format. 一个format 可用于多个变量 Format以句号结束 (.) 字符型format以$开始,如何定义FORMAT PROC FORMAT; VALUE group 1 = Beta Blocker 2 = Calcium Channel Blocker 3 = Diuretic 4 = Alpha Blocker 5 = ACE Inhibitor 6 = Placebo; VALUE gender 1 = Men 2=Women ; VALUE se 1

7、= None 2 = Mild 3 = Moderate 4 = Severe; Format名称并不必是数据集合内一个变量的名称,Format名,PROC FORMAT; VALUE $clinic A = Birmingham B = Chicago C = Minneapolis D = Pittsburgh ; 请不要混淆format和将要被格式化的变量 Sas单从PROC FORMAT不能知道你想要格式化哪个变量。你需要用format语句对变量进行格式化。,* 定义的Format没有使用; PROC FREQ; TABLES clinic sebl_6; RUN; = * 使用了fo

8、rmat; PROC FREQ; TABLES clinic sebl_6; FORMAT clinic $clinic. sebl_6 se. ; RUN;,Program 6 PROC FORMAT; . DATA tdata ; INFILE d:datatomhs3.dat; INPUT ptid $ clinic $ group sex educ eversmk alcbl sebl_1 sebl_6 ; run; LABEL clinic = Clinical Center; LABEL group = Drug Treatment Group; LABEL educ = High

9、est Education Attained; LABEL sebl_1 = Patient Report Drowsiness; LABEL sebl_6 = Patient Report Headaches; LABEL alcbl = Alcoholic Drinks Per Week; LABEL eversmk = Ever Smoke Cigarettes; PROC FREQ DATA=tdata; TABLES clinic sebl_6; FORMAT clinic $clinic. sebl_6 se. ;,PROC MEANS DATA=tdata N MEAN STD;

10、 VAR alcbl; CLASS eversmk; ; FORMAT eversmk smoke. ; TITLE PROC MEANS With Variable and Value Labels; RUN; The MEANS Procedure Analysis Variable : alcbl Alcoholic Drinks Per Week Ever Smoke N Cigarettes Obs N Mean Std Dev Smoker 48 47 5.3829787 6.4892995 Non-smoker 52 52 3.5384615 4.6292401 ,需掌握的要点,

11、Format在使用之前需先定义 (PROC FORMAT). FORMAT 语句可应用定义的format. 数据步里的Label 和 format 语句可用于其后的 PROCs 过程步里面的Label 和 format 语句只能用于该过程步 PROC本身,为网络或Word/Excel文件创建HTML 表 ODS LISTING CLOSE; ODS HTML FILE=educ.html; PROC FREQ DATA=tdata ; TABLES educ; FORMAT educ educ.; TITLE HTML Output From PROC FREQ; RUN; ODS HTML

12、CLOSE; The output will go to the html file rather than the .lst file. This can then be viewed on the web or inserted into word. Can also create RTF files.,Note: Run statement is needed here, and ODS statement must be after run.,插入Word的html文件,创建一个新变量 grad1= 1 如果大学毕业 = 2 否则,教育级别变量educ的解释,Program 7 DAT

13、A tdata; INFILE /home/ph5420/data/tomhs.data ; INPUT 1 ptid $10. 49 educ 1. 123 sbp12 3. ; * 这样的话,缺失值被变换为2; if educ =7 then grad1 = 1 ; * 下面的两种方法结果一样且是正确的; if educ =7 then grad2 = 1; * IN 是SAS的一个特殊函数; if educ IN(1,2,3,4,5,6) then grad3 = 2; else if educ IN(7,8,9) then grad3 = 1;,PROC FORMAT; VALUE g

14、rad 1-6 = College Graduate 7-9 = College Graduate; VALUE sbpcat LOW - 119 = 120 120-139 = 120-139 140-HIGH = 140+ ; 注意: LOW 不包括缺失值,PROC FREQ DATA=tdata; TABLES grad1 grad2 grad3 educ ; FORMAT educ grad.; RUN; grad1 Frequency Percent - 1 43 43.00 2 57 57.00 grad2 Frequency Percent - 1 43 43.43 2 56 5

15、6.57 Frequency Missing = 1 grad3 Frequency Percent - 1 43 43.43 2 56 56.57 Frequency Missing = 1 educ Frequency Percent - College Graduate 56 56.57 College Graduate 43 43.43,缺失值被变成2,最初的变量值为 1-9,* 把变量sbp12 变换成 3 个级别; if sbp12 = . then sbp12c = . ; else if sbp12 =140 then sbp12c = 3 ; With if-then-els

16、e definitions SAS stops reading after the first true statement,PROC FREQ DATA=tdata; TABLES sbp12c sbp12; FORMAT sbp12 sbpcat.; RUN; OUTPUT The FREQ Procedure Cumulative Cumulative sbp12c Frequency Percent Frequency Percent - 1 36 39.13 36 39.13 2 43 46.74 79 85.87 3 13 14.13 92 100.00 Frequency Mis

17、sing = 8 Cumulative Cumulative sbp12 Frequency Percent Frequency Percent - 120 36 39.13 36 39.13 120-139 43 46.74 79 85.87 140+ 13 14.13 92 100.00 Frequency Missing = 8,* 代价惨重的简单错误; if sbp12 = . then sbp12c = . ; else if sbp12 =140 then sbp12c = 3 ; PROC FREQ DATA=tdata; TABLES sbp12c; RUN; The FREQ Procedure Cumulative Cumulative sbp12cat Frequency Percent Frequency Percent 1 36 73.47 36 73.47 3 13 26.53 49 100.00 Frequency Missing = 51,How come no values of 2 and why so many missing?,创建新变量时需知道: 新变量的初始值是缺失值; 2.缺失值 任何值; 3.数值变量缺失

温馨提示

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

评论

0/150

提交评论