SAS的初级入门

Posted elkan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAS的初级入门相关的知识,希望对你有一定的参考价值。

1. SAS 的运算符,其中常用的算术运算符,包括:+、-、*、/;比较算符,包括:=(eq)、^=(NE)、>(gt)、< (lt)、〈=(lt)、〉=(gt)、in(包含);逻辑算符,包括:&(and)、|(or);其他的运算符,〉〈(最小值),〈〉(最大值),||(连接符)

例子:

 1 data oranges;
 2      input variety $ flavor  texture looks;
 3      total=flavor+texture+looks;
 4 
 5      if variety in (navel,valencia) 
 6          then total=total*10;
 7 
 8      if (flavor<texture & variety=mandarin) 
 9          then total=total*100; 
10 
11      a=flavor<>texture**2;
12      b=variety||.var;
13  
14      label total="总数";
15      cards;
16 navel  9 8 6
17 temple 7 7 7
18 Valencia 8 9 9
19 mandarin 5 7 8
20 ;
21 proc sort data=oranges;
22   by descending total;
23   run;
24 proc print data=oranges;
25   /*var _numeric_;*/
26  /* var _character_;*/
27   title 对ORANGES数据集的品尝检验结果;
28 run;

2. SAS 中的函数

字符串函数:floor 取最小值;substr(S,p,x)表示截取字符串从第p开始;截取 x 长度的字符,scan(S,n)表示获得以空格分割的第n个字符串,也可以写成scan(S,n,s1)表示获得以s1分割的第n个字符串;upcase(S)表示将字符串变为大写;compress(S1,S2)表示将两个字符串取出S1中所有的S2的字符。

数学函数:max(x1,x2)取两个数中的最大值;sum(x1,x2)求两个数之和;sign(x1)符号函数;mean(x1,x2)取两个数的平均值。

时间函数:year(date)获得年;month(date)获得月份;day(date)获得天;qtr(date)获得季度。

其他函数:ranuni(seed)随机函数,其中的seed要大于0。

例子:

 1 data bbb;
 2   input x1-x5 x6 $ date yymmdd15.;
 3   /*format date yymmdd10.;*/
 4   *format date weekdate12.;
 5   x7=o;
 6   x8=I am a student;
 7   /*以下是数学函数*/
 8   a1=max(x1,x2);
 9   a2=sum(x1,x2);
10   a3=sign(x3);
11   a4=sqrt(x5);
12   a5=mean(x1,x2);
13   /*以下是截取函数*/
14   b1=floor(a5);
15   /*以下是字符函数*/
16   c1=index(x6,x7);
17   c2=substr(x6,3,3);
18   c3=scan(x8,2);
19   c4=upcase(x8);
20   c5=compress(x6,x7);
21   /*以下是时间函数*/
22   d1=weekday(date);
23   d2=year(date);
24   d3=qtr(date);
25   d4=day(date);
26   /*以下是概率函数*/
27   e1=probnorm(0);
28   e2=n(of x1-x5);
29   e3=nmiss(of x1-x5);
30   e4=var(x1,x2);
31   e5=std(x1,x2);
32   /*以下是随机数函数*/
33   f1=ranuni(1);
34   
35   cards;
36 1  2   3  5  -6  amazon   2004/9/22
37 3  5   0  8  0   box      1960/1/2
38 9  10  -7  9  4  check    1960/1/1
39 7  6   .  1  8   delete   1959/12/31
40 -2.5 -2.3 3 1 2  desk     2005/9/29 
41 ;
42 run;
43 proc print;
44 run;

3. SAS 中的数据步

SAS 中含有一些内置变量,格式为"_变量名_",其中 _N_ 表示data 步执行的次数,也就是读到了数据的第几行,_error_ 为 1 的时候表示数据步出错。

例子:

 1 data flow;
 2   /*put x= y= z= _n_;*/
 3   input x y;
 4   z=x+y;
 5   put x= y= z=;
 6   put _n_= _error_=;
 7   cards;
 8 10 20
 9 100 200
10 1000 2000
11 ;
12 run;

 

以上是关于SAS的初级入门的主要内容,如果未能解决你的问题,请参考以下文章

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

第一章 SAS软件入门

入门教程初级使用

SAS编程基础 - 菜鸟入门常用操作

Python 正则表达式入门(初级篇)