SAS资料整理Word文档下载推荐.docx
《SAS资料整理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SAS资料整理Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
![SAS资料整理Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/25/4110c3b0-fce1-4619-8b77-bb4400094bca/4110c3b0-fce1-4619-8b77-bb4400094bca1.gif)
;
/*数据块的结束*/
RUN;
/*提交并执行*/
例子:
data=数据集名字mylib.a;
inputname$phoneroomheight;
($符号代表该列为列名型,就是这一列是文字!
比如名字,性别,科目等等)
cards;
rebeccah4241121.5648(中间是数据集,中间每一行末尾不要加逗号,但是
carol4501125.6235数据集最后要加一个分号!
louise4091101.2568
gina4741101.3652
mimi4101061.6542
alice4111061.6985
brenda4141061.3698
brenda4141051.8975
david4381411.6547
betty4641411.5647
holly4661401.5624;
procprintdata=whb.phones;
(这一过程步是打印出数据集,可要可不要!
run;
*数据集中的框架我会用加粗来显示,大家主要记加粗的,下面的编程部分都是这样!
二、基本统计分析
11.用INSIGHT计算统计量
1)在INSIGHT中打开数据集
在菜单中选择“Solution(解决方案)”→“Analysis(分析)”→“InteractiveDataAnalysis(交互式数据分析)”,打开“SAS/INSIGHTOpen”对话框,在对话框中选择数据集,单击“Open(打开)”按钮,即可在INSIGHT中打开数据窗口
2)选择菜单“Analyze(分析)”→“Distribution(Y)(分布)”,打开“Distribution(Y)”对话框。
在数据集的变量列表中,选择分析变量X、分组变量Y。
(注意:
分组变量就是那种可以区别不同种类的变量,例如地区编号、科目、组号等等,而分析变量一般是需要分析的数据,例如成绩,身高书目)
3)单击“Output(输出)”按钮,在打开的对话框中包含描述性统计量选项。
4)选择选项矩统计量和分位数,取消默认的选项:
“BoxPlot/MosaicPlot”和“Histogram/BarChart”,单击“OK”按钮,即可得到变量按分组的各种矩统计量(Moments)和分位数(Quantiles)
*描述性统计选项:
Moments矩统计量Quantiles分位数
见书P37BasicConfidenceIntervals基本置信区间
TestsforLocation位置检验FrequencyCounts频数统计
RobustMeasuresofScale尺度的稳健估计
TestsforNormality正态性检验
22.用“分析家”计算统计量
1)启动“分析家”
选择主菜单“Solutions(解决方案)”→“Analysis(分析)”→“Analyst(分析家)”,打开“分析家”窗口。
选择主菜单“File(文件)”→“按SAS名称打开”,打开“选择成员”对话框,选择数据集。
2)通过SummaryStatistics菜单计算描述性统计量
选择主菜单“Statistics(统计)”→“Descriptive(描述性统计)”→“SummaryStatistics(汇总统计量)”,打开“SummaryStatistics”对话框,选择变量列表中分析变量,单击“Analysis”按钮,选定分析变量
单击“Statistics”按钮,打开“SummaryStatistics:
Statistics”对话框。
对话框中列出可以计算的所有统计量。
3)通过Distributions菜单计算描述性统计量
选择主菜单“Statistics(统计)”→“Descriptive(描述性统计)”→“Distributions(分布)”,打开“Distributions”对话框,选择变量列表中的分析变量,单击“Analysis”按钮。
单击“OK”按钮,即可得到关于分析变量的矩统计量和基本统计测度。
3.用编程方法计算统计量
1)FREQ过程
FREQ过程包括多个控制频数输出与检验的语句和选项,格式如下:
PROCFREQDATA=<
数据集>
;
[TABLES<
变量1>
<
变量2>
…;
]
[FORMAT<
输出格式1>
.<
输出格式2>
.…;
RUN;
其中PROCFREQ语句调用FREQ过程,标志FREQ过程的开始;
TABLES语句用于创建有关变量所构成的各种表格并进行相应的假设检验和计算,可以多次使用。
例如:
procfreqdata=mylib.sryzc;
tablesR_IdIncome;
这个语句提供了频数,所占百分数,累计频数,和累计百分数!
2.MEANS过程
MEANS过程的一般格式:
PROCMEANSDATA=<
数据集名>
[<
统计量关键字列表>
];
[VAR<
分析变量列表>
;
[BY<
分组变量名>
[CLASS<
RUN;
procmeansdata=mylib.sryzc;
varIncome;
run;
PROCMEANS语句后的选项主要用来指定所要计算的统计量,默认情况下,
MEANS过程会给出频数、均数、标准差、最大值和最小值等,其余统计量的计算均需要在选项中指定。
VAR语句引导所要进行分析的所有变量的列表,SAS将对VAR语句所引导的所有变量分别进行描述性统计分析。
BY语句与CLASS语句所指定的分类变量用来进行分组统计,但输出格式不同。
3.使用统计量关键字列表
1)在PROCMEANS语句中使用统计量关键字列表:
procmeansdata=mylib.sryzcnmeanmedianp1p5p95p99q1q3maxmin;
varIncome;
Run;
关键字
所代表的含义
n
有效数据记录数
range
极差
nmiss
缺失数据记录数
skewness
偏度
mean
均值
kurtosis
峰度
std
标准差
t
分布位置假设检验之t统计量
stderr
标准误
probt
上述t统计量对应的概率值
var
方差
q1
第一四分位数
median
中位数
q3
第三四分位数
mode
众数
qrange
四分位数间距
cv
变异系数
p1
第一百分位数
max
最大值
p5
第五百分位数
min
最小值
p10
第十百分位数
sum
总计
p90
第九十百分位数
sumwgt
加权值总计
p95
第九十五百分位数
css
校正平方和
p99
第九十九百分位数
uss
未校正平方和
2)使用CLASS语句和BY语句
使用CLASS语句和BY语句可以分组计算分析变量的描述统计量值,由CLASS语句和BY语句指定的变量在分析中起分组(类)的作用,被称为分类变量。
两个语句的区别是:
使用BY语句时要求数据集须按BY变量排序,使用CLASS语句无此要求。
使用BY语句时输出按BY变量的每个值分别提供一个表,使用CLASS语句则将所有结果排列在一个表之中。
使用BY语句之前先排序,可以在按分组变量统计:
(p46)
procsortdata=mylib.sryzc;
byR_Id;
使用CLASS语句分组较为简单,也可以在按分组变量统计(p47)
procmeansdata=mylib.sryzcnmeanmedianp1p5p95p99q1q3maxmin;
classR_Id;
3.UNIVARIATE过程(推荐使用)
UNIVARIATE过程的一般格式为:
PROCUNIVARIATEDATA=<
[<
[BY|CLASS<
[HISTOGRAM<
变量名称>
/<
选项列表>
[OUTPUTOUT=<
统计量关键字>
=<
自定义变量名>
UNIVARIATE过程和MEANS过程的格式非常相似,相同的语句和选项其含义也相同,所不同的是某些统计量只能在UNIVARIATE过程中计算(如众数),而且UNIVARIATE过程中具有绘图功能。
其中,HISTOGRAM语句用来指示SAS对其后所指定的变量绘制直方图,其后的选项用来指示SAS添加不同类型的拟合图形(如正态分布的分布密度曲线)。
输出包括五个部分:
第一部分是矩统计量,各统计量已作了介绍。
第二部分为基本的位置和分散程度统计量,位置统计量包括均值、中位数、众数,分散程度统计量包括标准差、方差、极差、四分位间距
第三部分为关于均值等于零的三种检验的结果,包括t检验、符号检验和符号秩检验。
第四部分为各个重要的分位数。
第五部分是观测数据的五个最低值和五个最高值。
*因为这个编程含有最齐全的结果,大家做一个这个编程,所有的数据就可以自己调了,但是要找到那个对的哦!
三、程序绘图
1.GCHART过程
(1)语法格式
PROCGCHARTDATA=<
图形关键字>
vGCHART过程可以使用的图形关键字及其所绘制的图形类型见表
图形关键字
绘制的图形类型
block
方块图
pie
饼形图
hbar
水平的条形图
pie3d
三维饼形图
hbar3d
水平的三维条形图
donut
环形图
vbar
竖立的条形图
star
星形图
vbar3d
竖立的三维条形图
TYPE=freq|cfreq|pct|cpct|sum|mean统计图形变量的频数|累计频数|…
Discrete把数字变量当成离散变量处理
GROUP=变量名指定并排分组变量
SUBGROUP=变量名按分组变量的值分段
Patternid=Midpoint|group|subgroup,规定连续性图形的图案按数字列表中的中心点值|并排分组值|重叠分组值的次序呈现
SUMVAR=变量名(数值变量)指定要进行统计计算的变量,也就是“TYPE=统计量关键字”选项中统计量的计算所依据的变量
举例啦!
2)画条形图(直方图)
procgchartdata=mylib.sryzc;
vbarIncome;
(分析变量!
其中绘图用的变量用VBAR语句给出,如果把VBAR改成HBAR则条形方向变为横向。
用GCHART绘制的条形图和在INSIGHT中绘制的直方图有所不同,它在横轴标的是区间的中点值,而在INSIGHT中横轴标的是区间的端点值。
可以指定分组的变量,例如在每个区段内再分段(就可以出现一个条形出现两个颜色哦!
procgchartdata=mylib.sryzc;
vbarIncome/subgroup=R_Id;
(前一个是分析变量,后一个是分组变量哦)
3)画三维条形图
使用BLOCK关键字可以画三维条形图。
例如,画出数据集中Income变量的三维条形图的代码如下:
blockIncome/group=R_Id;
(前一个是分析变量,后一个是分组变量)
4)画饼形图
使用PIE关键字可以画饼形图,PIE3D关键字可以画三维饼形图。
例如,画出数据集中Income变量的三维饼形图的代码如下:
procgchartdata=mylib.sryzc;
PIE3DIncome;
(分析变量哦!
2.使用GPLOT过程绘制散点图和连线图
1)GPLOT过程的一般格式
PROCGPLOTDATA=<
PLOT<
纵轴变量>
*<
横轴变量>
[=<
变量>
][/<
选项>
];
[SYMBOLn<
PLOT语句的选项
选项
意义
说明
FRAM|NOFRAM
在图形四周加入或不加入边框默认为加入
缺省为加入
CFRAM=颜色
边框内的颜色默认为白色
缺省为白色
AUTOHREF(AUTOVEREF)
在水平(垂直)轴的每个主刻度处加入水平(垂直)参考线
NOAXIS
取消坐标轴及相关的图形元素
CAXIS=颜色
设定轴的颜色
CTEXT=颜色
设定与轴相关字符的颜色
HAXIS=值列举
设定水平轴主刻度的值
VAXIS=值列举
设定垂直轴主刻度的值
overlay
多个图共坐标
散点图
绘制家庭总收入对家庭总支出的散点图,代码如下:
procgplotdata=mylib.sryzc;
plotIncome*outgo;
如果换成这个样子,图像上面会出现星星或点型,而且线条颜色不同
plotIncome*outgo=r_id;
symbol1color=blackv=star;
symbol2color=bluev=dot;
连线图
为了绘制连线,只要在SYMBOL语句中指定i=join。
例如绘制家庭总收入对家庭编号的连线图,代码如下:
plotIncome*id;
symboli=joinv=star;
也可以分地区绘制家庭总收入对家庭编号的连线图,代码如下:
plotIncome*id=r_id;
symbol1color=blacki=joinv=star;
symbol2color=bluei=joinv=dot;
四、正态性检验
1.分布拟合图
用“insight”绘图
选择菜单“Analyze(分析)”→“Distribution(Y)(分布)”,打开“Distribution(Y)”对话框
设置正态性!
2.绘制QQ图
要选择QQ图的选项!
1)选择菜单“Curves(曲线)”→“QQRefLine(QQ参考线)”,打开“QQRefLine”对话框。
选择“Method(方法)”栏下的“LeastSquares(最小二乘)”单击“OK”按钮得到带参考线的QQ图
选择最小二乘法!
2)选择菜单“Graphs(图形)”→“QQPlot(QQ图)”,打开“QQPlot”对话框。
选择“Distribution(分布)”栏下的“LognormalQQPlot(对数正态QQ图)”,单击“OK”按钮得到对数正态QQ图
选择对数正态!
3.正态性检验
注意:
前两种检验都是从图线上直观看出结果,不是很准确,最后这种是最准确的!
建议大家做正态性检验时,用这种方法!
1)在INSIGHT中继续上述操作:
选择菜单“Curves(曲线)”→“TestforDistribution(分布检验)”,打开“TestforDistribution”对话框。
单击“OK”按钮,得到分析变量的经验分布和拟合的正态累计分布曲线图。
2)列举了拟合正态分布的均值(即样本均值)和标准差(即样本标准差),并提供了KolmogorovD统计量的数值0.1377,而相应的p值>
0.05=α,所以不能拒绝原假设,可以认为分析变量总体分布为正态分布。
这是检验的一步,注意看P值与0.05的比较,当P值大于0.05时,就可以确定这个分析变量总体分布为正态分布!
在“分析家”绘图
1.绘制分布拟合图和QQ图
1)首先在“分析家”中打开数据集;
2)选择主菜单“Statistics”→“Descriptive”→“Distributions…”,打开“Distributions”对话框。
选择分布拟合图和QQ图!
2.分布检验
1)继续上述步骤。
在分析家窗口的项目管理器中双击“FittedDistributionsofGcjg”项,得到检验结果
2)分析结果时,注意看P值与0.05的比较,当P值大于0.05时,就可以确定这个分析变量总体分布为正态分布!
用编程方法进行检验
用编程方法是最方便的方法,也比较省时间,所以建议大家用这种方法!
使用UNIVARIATE过程
在PROCUNIVARIATE语句中加上NORMAL选项可以进行正态性检验。
procunivariatedata=Mylib.yczlnormal;
varweight;
检验结果:
结果中给出了分析变量的四种正态性检验结果,其中Shapiro-Wilk检验是首选的。
当看到p值很大大于0.05,所以在0.05水平下不能拒绝原假设,即认为分析变量服从正态分布