资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第二章、SAS编程基础,*,第二章、SAS编程基础,第一节、SAS语言的基本规定,1,第二章、SAS编程基础,一、,SAS,语句,1、,SAS,语句,是由关键字、,SAS,名、特殊字符或运算符组成,并以“;”结尾的字符串。例如:,Data one;,Key1:x+1;,Proc means data=nec.exam maxdec=3;,Input name$6.;,Do I=1 to dim(eachitem);,2,第二章、SAS编程基础,2、,SAS,语句的基本格式,格式:,KEYWORD,parameteroptions,;,关键字:说明语句的类型和功能,必须严格按系统规定形式写。,参数:要求用户提供的信息,不是可选项。,选项中的内容是可任选的,选择项的值由用户提供。,例:,input x y z;,Proc means data=nec.exam maxdec=3;,3,第二章、SAS编程基础,二、,SAS,名的规定,1),SAS,名包括,SAS,文件名、过程名、数据库名、数据集名、变量名、选择项名等。,2)1-8位字符(字母、数字、下划线),以字母或下划线开头。,3)不允许有空格、$、#等特殊字符。,4)开头和结尾均为下划线的为系统保留名,例如:_,N_,_NULL_,等。,4,第二章、SAS编程基础,三、,SAS,常量、变量、函数、表达式,1、常量:,数值型:10,1.5E10,字符型:“abc”,“a cat”,日期类:“1JAN2002”D(日期型),“11:30”T (时间型),“1JAN2002:11:30”DT (日期时间型),2、变量:数值型、字符型、日期类,5,第二章、SAS编程基础,3、函数,大约有13类,140多种。,统计软件所特有的几种函数:,1)随机函数:产生随机数,RANUNI()、RANNOR()RANEXP()、RANBIN(),等,其中()中的参数应为0或5位、6位、7位奇数。,2)概率(分布)函数:,PROBNORM(x),PROBBNML(p,n,m),POISSON(a,m),等,,注:函数名大小写无影响。,6,第二章、SAS编程基础,概率(分布)函数举例,Data one;,P=0.5;n=8;m=5;,Y1=PROBBNML(p,n,m);,Lamda=3;m=5;,Y2=POISSON(lamda,m);,Proc print;,run;,7,第二章、SAS编程基础,3)概率分布分位数函数,例如:,Probit(p):,标准正态分布分位数,Finv(p,df1,df2,nc):F,分布分位数,程序如下:,Data abc;,P=0.05;x=probit(p);,q=0.05;df1=2;df2=10;nc=0;,y=finv(q,df1,df2,nc);,Proc print;,Run;,8,第二章、SAS编程基础,4)样本统计数函数,Mean(),sum(),var(),std(),range(),等。,例:,data abc;,Input x1 x2 x3;Mx1=mean(x1,x2,x3);,Mx2=(x1+x2+x3)/3;,Mx3=sum(x1,x2,x3)/3;Cards;,1 2 3,2 4 6,Proc print;run;,9,第二章、SAS编程基础,此外,还有算术函数、截取函数、数学函数、三角函数、字符函数、日期与时间函数,这些函数的用法与其它软件大致相同等等。,4、,SAS,表达式,用运算符把常量、变量、函数联结在一起的式子。如:,Age=30,Name=“wang”OR name=“zhang”,10,第二章、SAS编程基础,第二节、,SAS,的基本输入、输出格式 一、输入语句(,INPUT),1),自由格式(变量列表格式,),INPUT,变量$,字符变量后应加$,当字符变量取值中有空格时,应加&,这时下一变量与该字符变量之间至少要有两个空格,。,例如:,Data new;,Input name$,Cards;,Wang ling 20,Li feng 19,Proc print;run;,11,第二章、SAS编程基础,2)列方式,格式:,INPUT,变量$起始列号-终止列号.小数位数;,DATA one;,Input name$1-10 hgt 13-16.1 age 11-12;,Cards;,Li ming 301700,C.j.Zhang401808,;,Proc print;run;,12,第二章、SAS编程基础,3)格式输入,格式:,INPUT,变量格式修饰符输入格式;,例如:,Input(x1-x5)(4.);,表示变量,x1,x2,x3,x4,和,x5,的取值宽度均为4列。,Input(x y)($5.);,定义字符变量,x,和,y,,分别占5列。,13,第二章、SAS编程基础,4)指针方式,格式:,INPUT#,变量;,表示把控制指针保持在当前行,下一个,input,语句仍在当前行读数。例1:,data marks;,Input grade;,If grade=1 then input math phys chem;,Else input hist geog Chinese;Cards;,1 80 90 78,2 79 93 87,Proc print;run;,14,第二章、SAS编程基础,表示当前数据行含有多个观察值,,input,读完一个观察后,控制指针仍保持在当前行,接着读下一个数据。例2:,Data product;,Input year x1 x2;,Cards;,1997 50 60 1998 70 75 1999 80 87,Proc print;,Run;,15,第二章、SAS编程基础,二、输出语句(,PUT,语句),一般与,FILE,语句配合使用,将内容输出到,File,指定的文件中或,Log、Output,窗口中.,1)自由格式输出,格式:,Put,变量$;,例如:,Data new;,Input name$sex$age;File“c:dat.txt”;,Put name$sex$age;Cards;,Wang f 18,Liu m 16,;,16,第二章、SAS编程基础,2)列方式输出,格式:,PUT,变量$起始列号-终止列号.小数位数;,例如;,put name$1-8 age;,3)格式输出,格式;,PUT,变量 格式说明,(略),17,第二章、SAS编程基础,
展开阅读全文