SAS的初级入门(四)

1. proc 步中 transpose 的使用

transpose 的中文含义是颠倒的意思,即将数据颠倒一下

transpose 的作用是将是数据集中的观测变为变量

例子:

 1 title;
 2 data aaa;
 3 input m1-m3 x $;
 4 cards;
 5 2 2.5 5.5 a
 6 ;
 7 run;
 8 
 9 proc print data=aaa;
10 run;
11 
12 proc transpose data=aaa out=zzz;
13 var m1 m2 m3 x;
14 run;
15 proc print data=zzz;
16 run;

结果

将读取的数据集全部转换为了变量,包括读取数据集中的变量名,也被单独转换为了一列变量

2. proc 中的 means 过程

使用 means 来获得数据集中的简单统计量,包括:数量、极差、均值、中位数、标准差、标准误差、T 值,其中的 T 值是用来表示统计是否显著的。

例子:

 1 data x;
 2    title '与正常体重的偏差';
 3    input x @@;
 4    cards;
 5 -7  -2 1 3 6 10 15 21 30 
 6 ;
 7 proc means data=x maxdec=2 n range mean median std stderr t prt;
 8      output out=x1 mean=X_mean std=X_std;
 9 run;
10 proc print data=x1;
11 run;

结果:

其中的 _type_ 和 _freq_ 表示为分组数和出现的频率。

3. proc 中的 format 的使用

format 的图示格式:picture 格式名 other = ‘格式化值’,要注意的是,format 的picture 只适用于数值类型

例子:

 1 data a;
 2     input mobile_num tel_num;
 3     format mobile_num mobile.;
 4     format tel_num tel.;
 5     cards;
 6     13693065109  01088512197
 7     13903706800  01088567636
 8     ;
 9 
10 proc format;/*图示输出格式只对数值型变量有效*/
11     picture mobile  other='000/0000-0000';
12     picture tel  other='111-11111111';
13 
14 proc print;
15 run;

结果:

即将原始的数据变为了指定的格式

3. proc 中 plot 的使用

 其中 plot y*x = ‘+’ 即表示使用 + 这个符号来作为图中的点

在 proc plot 中使用 /vref=0 表示在绘图的时候,使用 垂直的参考线,也可以将vref 换为 href,这时就是使用水平的参考线,后面跟着的数值表示

你的参考线应该在哪里绘制。

例子:

 1 data prom;
 2   do x=0 to 5 by 0.05; 
 3      y=x*sin(2*x);
 4      z=cos(x);
 5      output;
 6   end;
 7 proc plot;
 8   plot y*x='*' /href=2.5;/*z*x=sex overlay*/
 9   title '制作函数图形y=x*sin(2x)';
10 run;
11 quit;

结果:

被注释掉的 overlay 表示可以同时绘制多个图。

 4. proc 中 rank 的使用

使用的基本格式:

proc rank <选项>;
var 变量;
ranks 新变量名字;
by 分组变量;
run;

在选项中一般使用 tie 来进行相同值的排名,一般使用 ties = low/high/mean 

 例子:

 1 data a;
 2   input location gain @@;
 3   cards;
 4   1  7.2  1  7.9  1  7.6  1  6.3  1  8.4 
 5   1  8.1  2  8.1  2  7.3  2  7.7  2  7.7 
 6   ;
 7   proc rank ties = high;/*high,mean*/
 8     var gain;
 9     ranks rankgain;
10   proc print;
11     title '变量GAIN值的秩';
12   proc rank data=a  out=b;
13     by location;
14     var gain; 
15     ranks rgain;
16   proc print;
17     by location;
18     title '在不同位置上求秩';
19     run;

ranks 是将名次作为新的变量,而不是覆盖以前的变量,by 则是分组,将数据分为两组。

原文地址:https://www.cnblogs.com/elkan/p/11007758.html