本篇SAS读书笔记主要介绍SAS相关数据处理过程,譬如数据集转置、描述统计以及相关系数的计算。
5数据集转置
有时我们需要改变观测与列的关系,这可以用TRANSPOSE过程来实现。
先举一个合并观测的例子。
例1:假设我们对若干个病人先后试验了A药和B药,药效记录在val变量中,数据见表
为了进行统计分析我们需要把两次的药效存入两个变量,即两个观测合并为一个观测,用如下程序可以实现:
proc sort data=onecol;
by num;run;
proc transpose data=onecol out=twotest;
var val;
id test;
by num;
run;
例2:转置当然也可以是同时对多行和多列进行,比如下面的例子中原始数据集为4行3列,转置后变成了3行4列。
data mat;
input x1 x2 x3;
cards;
1 2 3
4 5 6
7 8 9
10 11 12
;
run;
程序如下
proc transpose data=mat out=matt;
var x1 x2 x3;
run;
6 描述统计
MEANS、UNIVARIATE和FREQ这三个过程用来计算简单的描述统计量。MEANS和UNIVARIATE过程对区间变量计算均值、标准差等数字特征,而FREQ过程对离散变量计算取值频数分布。
例1:要统计学生信息中的数学与语文成绩相关的统计量。
proc means data=student;
var math chinese;
run;
结果将输出相关的:样本数目n,均值,标准差,最小值,最大值
UNIVARIATE过程则可以计算较多的统计量,输出包括五个部分。第一部分是矩统计量。第二部分为基本的位置和分散程度统计量,位置统计量包括均值、中位数、众数,分散程度统计量包括标准差、方差、极差、四分位间距。第三部分为关于均值等于零的三种检验的结果,包括t检验、符号检验和符号秩检验。第四部分为各个重要的分为数估计。第五部分是变量的五个最低值和五个最高值。
FREQ过程可以考察离散变量的取值分布,在TABLES语句中指定要分析的变量。比如,我们想了解C9501中性别的分布情况,可以用:
注意:也可以在INSIGHT模块计算
7 相关系数计算
CORR过程用来计算变量的相关系数
例:计算变量x1,x2,x3两两之间相关系数
proc corr data=aa;
var x1 x2 x3;
run;
注意:也可以在INSIGHT分析模块的多元部分计算。
数据分析咨询请扫描二维码