SAS(十二)PROC步
- Proc- 用在proc步的开头并规定用户使用的SAS过程名字及其他信息
- Var-规定用这个过程分析的一些变量
- Model-规定在模型中类似表示因变量(左)和自变量(右)的这样一些变量及其他信息
- Weight-规定一个变量,它的值是这些观测的相应权数
- Freq-规定一个变量,其值表示频数
- Id-规定一个或几个变量,他们的值在打印输出中或由此过程产生的SAS数据集中用来识别观测
- Where-在SAS把观测引入proc步之前,用来选择符合特殊条件的观测
- Class-在分析中指定一些变量为分类变量
- By-规定一些变量,SAS过程对输入数据集用by变量定义的几个数据组分别进行分析处理
- Output-给出用该过程产生的输出数据集的信息
- Quit-结束交互式的过程
- 其他如Attrib属性语句、format输出格式语句、label标签语句等
data insurance;
input id y x1 x2;
label id="序号" y="人寿保险额(千元)" x1="年人均收入(千元)" x2="风险反感度";
cards;
1 19.6 66.290 7
2 6.3 40.964 5
3 25.2 72.996 10
4 8.4 45.010 6
5 12.6 57.204 4
6 1.4 26.852 5
7 4.9 38.122 4
9 26.6 75.796 9
10 4.9 37.408 5
11 10.5 54.376 2
12 9.8 46.386 7
13 7.7 46.130 4
14 1.4 30.366 3
15 5.6 39.060 5
16 24.5 79.380 1
17 13.3 52.766 8
18 13.3 55.916 6
;
proc reg;
model y=x1 x2;
run;
Transpose(转置过程)
- Transpose过程完成对sas数据集的转置,即把观测变为变量,变量变为观测。
- Out选项规定输出数据集
- Prefix选项规定转置后的变量名前缀
- Id选项使用其后规定的变量值作为输出数据集中被转置的变量名
title;
data aaa;
input m1-m3 x $;
cards;
2 2.5 5.5 a
;
run;
proc transpose data=aaa out=zzz;
var m1 m2 m3 ;
*id x;
run;
proc print data=zzz;
run;
Means均值过程
- 计算数据集中数值变量的简单统计量
- T选项:检验数据总体均值为0的假设时,t统计量的值
- Prt选项:Prob >|T| , 数据总体均值为0的概率是多少
- 默认生成的_type_和_freq_变量分别规定分组数(如果有)和频率
- Maxdec选项规定输出结果的小数部分最大位数
- 可以输出的统计量:
N, Nmiss, mean, std, min, max, range, sum, var, uss, css, cv(变异系数), stderr, t, prt, sumwgt, skewness(偏度), kurtosis(峰度), clm(置信限), lclm(置信下限), uclm(置信上限)
data x;
title '与正常体重的偏差';
input x @@;
cards;
-7 -2 1 3 6 10 15 21 30
;
proc means data=x maxdec=2 n range mean median std stderr t prt;
output out=x1 mean=X_mean std=X_std;
run;
proc print data=x1;
run;
data;
input class $ a amount;
cards;
a 3 0.8
b 4 0.2
;
run;
proc means n mean;
var a;
weight amount;
run;
data;
input class $ a amount;
cards;
a 3 3
b 4 2
;
run;
proc means n mean;
var a;
freq amount;/*freq后规定的变量,其值不能小于1*/
run;
Format过程
- 使用Format过程把输出格式同Data步、Proc步的变量联系起来。
- 输出格式一:SAS格式
- 输出格式二:Format定义的格式,形如value 格式名 变量值=‘自定义值’;
proc …;
format 变量 格式名.; - 输出格式三:图示输出&#