第二章、sas编程基础 第一节、s门as语言的基本规定.pptVIP

  • 7
  • 0
  • 约2.58千字
  • 约 17页
  • 2019-03-09 发布于福建
  • 举报

第二章、sas编程基础 第一节、s门as语言的基本规定.ppt

第二章、sas编程基础 第一节、s门as语言的基本规定

第二章、SAS编程基础 第二章、SAS编程基础 第二章、SAS编程基础 第一节、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语句的基本格式 格式: KEYWORD parameter…item|item|itemoptions; 关键字:说明语句的类型和功能,必须严格按系统规定形式写。 参数:要求用户提供的信息,不是可选项。 选项中的内容是可任选的,选择项的值由用户提供。 例: input x y z; Proc means data=nec.exam maxdec=3; 二、SAS名的规定 1)SAS名包括SAS文件名、过程名、数据库名、数据集名、变量名、选择项名等。 2)1---8位字符(字母、数字、下划线),以字母或下划线开头。 3)不允许有空格、$、@、# 等特殊字符。 4)开头和结尾均为下划线的为系统保留名,例如:_N_,_NULL_等。 三、SAS常量、变量、函数、表达式 1、常量: 数值型:10,1.5E10 字符型:“abc”, “a cat” 日期类:“1JAN2002”D(日期型) “11:30”T (时间型) “1JAN2002:11:30”DT (日期时间型) 2、变量:数值型、字符型、日期类 3、函数 大约有13类,140多种。 统计软件所特有的几种函数: 1)随机函数:产生随机数 RANUNI()、RANNOR()RANEXP()、RANBIN()等,其中()中的参数应为0或5位、6位、7位奇数。 2)概率(分布)函数: PROBNORM(x) PROBBNML(p,n,m) POISSON(a,m)等, 注:函数名大小写无影响。 概率(分布)函数举例 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; 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; 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; 此外,还有算术函数、截取函数、数学函数、三角函数、字符函数、日期与时间函数,这些函数的用法与其它软件大致相同等等。 4、SAS表达式 用运算符把常量、变量、函数联结在一起的式子。如: Age=30 Name=“wang” OR name=“zhang” 第二节、SAS的基本输入、输出格式 一、输入语句(INPUT) 1)自由格式 (变量列表格式) INPUT 变量[$] []; 字符变量后应加$,当字符变量取值中有空格时,应加, 这时下一变量与该字符变量之间至少要有两个空格。例如:Data new; Input name $ age ; Cards; Wang ling 20 Li feng 19 Proc print;run; 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; 3)格式输入 格式:INPUT变量[格式修饰符]输入格式; 例如: Input (x1-x5) (4.);表示变量x1,x2,x3,x4和x5的取值宽度均为4列。 Input(x y)($5.);定义字符变量x和y,分别占5列。 4)指针方式 格式:INPUT[@][#] 变量 [@][@@]; @表示把控制指针保持在当前行,下一个input语句仍在当前行读数。例1: data marks; Input grade

文档评论(0)

1亿VIP精品文档

相关文档