sas 数据集基本处理
(2013-01-29 13:57:30)平宝宝倾情奉献,希望大家能够得到好成绩!!
这是为了其他好朋友们哦,经一的同志们,邮箱里有WORD版,可以自己去下啊!!!
一、
1.导入Excel数据表的步骤如下:
-
3) 在第三步的“Select library and member”对话框中,选择导入数据集所存放的逻辑库以及数据集的名称。 -
4 ) 在第四步的“Create SAS Statements”对话框中,可以选择将系统生成的程序代码存放的位置,完成导入过程。
2.用INSIGHT创建数据集
1)启动SAS INSIGHT模块,在“SAS INSIGHT:Open”对话框的”逻辑库“列表框中,选定库逻辑名
2)单击“新建”按钮 ,在行列交汇处的数据区输入数据值
(注意列名型变量和区间型变量,这在后面方差分析相关性分析等都要注意!!)
3)数据集的保存:
- “文件” →“保存” →“数据” ;
- 选择保存的逻辑库名,并输入数据集名;
- 单击“确定”按钮。即可保存新建的数据集。
3.用VIEWTABLE窗口建立数据集
1)打开VIEWTABLE窗口
2)单击表头顶端单元格,输入变量名
3)在变量名下方单元格中输入数据
4)变量类型的定义:右击变量名/column attributes…
4.用编程方法建立数据集
DATA
语句;
Input 语句;
Cards;
例子:data=数据集名字mylib.a;
input
cards;
rebeccah 424 112
1.5648
carol 450 112
5.6235
louise 409 110 1.2568
gina 474 110 1.3652
mimi 410 106 1.6542
alice 411 106 1.6985
brenda 414 106 1.3698
brenda 414 105 1.8975
david 438 141 1.6547
betty 464 141 1.5647
holly 466 140
1.5624
proc print
data=whb.phones;
*数据集中的框架我会用加粗来显示,大家主要记加粗的,下面的编程部分都是这样!!
二、基本统计分析
-
1.
1)在INSIGHT中打开数据集
在菜单中选择“Solution(解决方案)”→“Analysis(分析)”→“Interactive Data Analysis(交互式数据分析)”,打开“SAS/INSIGHT Open”对话框,在对话框中选择数据集,单击“Open(打开)”按钮,即可在INSIGHT中打开数据窗口
2)选择菜单“Analyze(分析)”→“Distribution (Y)(分布)”,打开“Distribution (Y)”对话框。在数据集的变量列表中,选择分析变量X、分组变量Y。(注意:分组变量就是那种可以区别不同种类的变量,例如地区编号、科目、组号等等,而分析变量一般是需要分析的数据,例如成绩,身高书目)
3)单击“Output(输出)”按钮,在打开的对话框中包含描述性统计量选项。
4)
*描述性统计选项:Moments
矩统计量
见书P37
Tests for Location 位置检验
Robust Measures of Scale 尺度的稳健估计
Tests for Normality 正态性检验
-
2.
1)启动“分析家”
2)通过Summary Statistics菜单计算描述性统计量
单击“Statistics”按钮,打开“Summary Statistics:Statistics”对话框。对话框中列出可以计算的所有统计量。
3) 通过Distributions菜单计算描述性统计量
选择主菜单“Statistics(统计)”→“Descriptive(描述性统计)”→“Distributions(分布)”,打开“Distributions”对话框,选择变量列表中的分析变量,单击“Analysis”按钮。单击“OK”按钮,即可得到关于分析变量的矩统计量和基本统计测度。
3.用编程方法计算统计量
1)FREQ过程
FREQ过程包括多个控制频数输出与检验的语句和选项,格式如下:
PROC
RUN;
其中PROC FREQ语句调用FREQ过程,标志FREQ过程的开始;
TABLES语句用于创建有关变量所构成的各种表格并进行相应的假设检验和计算,可以多次使用。
例如:proc freq data
=
RUN;
这个语句提供了频数,所占百分数,累计频数,和累计百分数!
2. MEANS过程
MEANS过程的一般格式:
PROC MEANS DATA=<数据集名>[<统计量关键字列表>];
RUN;
例如:proc
run;
PROC MEANS语句后的选项主要用来指定所要计算的统计量,默认情况下,
MEANS过程会给出频数、均数、标准差、最大值和最小值等,其余统计量的计算均需要在选项中指定。
3.
1)
proc
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语句
使用BY语句之前先排序,可以在按分组变量统计: (p46)
例如:proc
run;
proc
run;
使用CLASS语句分组较为简单,也可以在按分组变量统计(p47)
proc
RUN;
3. UNIVARIATE过程(推荐使用)
PROC UNIVARIATE DATA = <数据集名>
RUN;
UNIVARIATE过程和MEANS过程的格式非常相似,相同的语句和选项其含义也相同,所不同的是某些统计量只能在UNIVARIATE过程中计算(如众数),而且UNIVARIATE过程中具有绘图功能。
输出包括五个部分:
*因为这个编程含有最齐全的结果,大家做一个这个编程,所有的数据就可以自己调了,但是要找到那个对的哦!!
三、程序绘图
1. GCHART过程
(1) 语法格式
PROC GCHART DATA = <数据集名>;
RUN;
v
图形关键字 |
绘制的图形类型 |
图形关键字 |
绘制的图形类型 |
block |
方块图 |
pie |
饼形图 |
hbar |
水平的条形图 |
pie3d |
三维饼形图 |
hbar3d |
水平的三维条形图 |
donut |
环形图 |
vbar |
竖立的条形图 |
star |
星形图 |
vbar3d |
竖立的三维条形图 |
|
|
TYPE =freq |cfreq
|pct|cpct|sum|mean
Discrete
GROUP=变量名
SUBGROUP=变量名
Patternid=Midpoint|group|subgroup,规定连续性图形的图案按数字列表中的中心点值|并排分组值|重叠分组值的次序呈现
SUMVAR
=
举例啦!!
2)
例如:
run;
其中绘图用的变量用VBAR语句给出,如果把VBAR改成HBAR则条形方向变为横向。用GCHART绘制的条形图和在INSIGHT中绘制的直方图有所不同,它在横轴标的是区间的中点值,而在INSIGHT中横轴标的是区间的端点值。
可以指定分组的变量,例如在每个区段内再分段(就可以出现一个条形出现两个颜色哦!!)
proc gchart
vbar
run;
3)
proc gchart
Run;
4)画饼形图
proc gchart
run;
2.使用GPLOT过程绘制散点图和连线图
1)GPLOT过程的一般格式
PROC GPLOT DATA = <数据集名>;
RUN;
PLOT语句的选项
选项 |
意义 |
说明 |
FRAM | NOFRAM |
在图形四周加入或不加入边框 |
缺省为加入 |
CFRAM
= |
边框内的颜色 |
缺省为白色 |
AUTOHREF(AUTOVEREF) |
在水平(垂直)轴的每个主刻度处加入水平(垂直)参考线 |
|
NOAXIS |
取消坐标轴及相关的图形元素 |
|
CAXIS
= |
设定轴的颜色 |
|
CTEXT
= |
设定与轴相关字符的颜色 |
|
HAXIS
= |
设定水平轴主刻度的值 |
|
VAXIS
= |
设定垂直轴主刻度的值 |
|
overlay |
多个图共坐标 |
|
散点图
绘制家庭总收入对家庭总支出的散点图,代码如下:
proc gplot
run;
如果换成这个样子,图像上面会出现星星或点型,而且线条颜色不同
proc gplot
run;
连线图
为了绘制连线,只要在SYMBOL语句中指定i = join。例如绘制家庭总收入对家庭编号的连线图,代码如下:
proc gplot
run;
也可以分地区绘制家庭总收入对家庭编号的连线图,代码如下:
如果换成这个样子,图像上面会出现星星或点型,而且线条颜色不同
proc gplot
run;