Sas常用过程
来源:互联网 发布:无声告白 知乎 编辑:程序博客网 时间:2024/05/29 09:41
1 sort过程
例子:
DATA SCORE;
INPUT NUM $ S1-S3 @@;
CLAS=SUBSTR(num,3,2);/* 用SUBSTR函数从NUM中截取出班级CLAS */
TOT=SUM(OFS1-S3);
CARDS;
060101 79 9687 060102 69 78 92
060203 98 8793 060104 88 93 90
060201 76 8988 060207 90 89 97
;
proc print;
run;
PROC SORT DATA= SCOREOUT=CS1;
BY CLAS descending TOT;
PROC PRINT;
RUN;
Out输出数据集
By通过什么排序 【descending】 字段 descendingTOT按照tot倒序,不写表示默认方式,正序
2 print过程:
例子:
DATA ear_exp;
INPUT name $ reg $ wor $ earn exp @@;
CARDS;
LILING A 15500 4700 LIUHONG B 2 4600 4000
SUNPING B 25300 4800 ZHANGLI A 1 5300 4500
ZHAOGONG A 15600 4600 XIWANG B 1 8500 7400
WEIDONG A 15500 4500 ZHAOJUN A 2 4500 4000
WANGJIAN B 19800 8300 LIUYAN A 2 3500 3300
HUANGHUA A 23800 3500 ZHOULI A 2 3900 3700
QINWEI B 24900 4400 DONGYI B 1 15000 9000
ZHANGSAN B 110500 8800 WANGZI B 2 4900 4500
liujun A 18900 7790 DONGFENG B 1 11000 8090
FENGJUN A 18980 7720 KONGHAI A 1 12000 9000
PROC SORT ;
BY reg wor;
PROC PRINT ;
ID NAME;
BY reg wor;
SUM earn exp;
RUN;
PROC PRINT<选项>;
VAR 变量表
ID 变量表;
BY 变量表;
SUM 变量表;
3format过程
DATA score;
LENGTH name $ 12;
INPUT name t1-t3 @@;
CARDS;
WANGDONG 9070 60 XUEPING 85 95 88 ZHOUHUA 77 84 69
HEYAN 95 7888 SUNHONG 89 97 87 ZHAOBIN 66 98 86
;
PROC FORMAT (Library=l);
VALUE fsmt low-<60='C'60-<80='B'80-100='A';
PROC PRINT DATA= score;
FORMAT t1-t3 fsmt.;
run;
Library=选项指定逻辑库,用于保存格式 ,如果不写表示临时工作目录
Value语句用于定义格式 value格式名 格式内容
4 means过程
例子
PROC means data= mydb.score1maxdec=3;
var t1-t3;
class clas;
title 'statistics with a class variable';
Proc sort data= mydb.score1;
by clas;
PROC means maxdec=3;
by clas;
var t1-t3;
Title 'statistics with by variable';
run;
MEANS过程
选项
DATA=数据集,指出要分析的数据集
NOPRINT,不输出任何统计量,仅为建立一个新的数据集
MAXDEC=n,指出小数点位数
语句
VAR 变量表; 指出要分析的变量表
BY 变量表; 聚组统计
ID 变量表;
其他统计量过程。
例如
缺省
变量
N
均值
标准差
最小值
最大值
例如求最小值
data test;
input clas t1-t3 @@;
cards;
1 100 100100 1 90 98 90
1 91 98 98 289 100 98
2 100 98 972 97 86 99
;
proc means maxdec=3 ;
by clas;
run;
by需要先排序
class不需要先排序
都是分组
Weight权重
Fre观测行频率
5FREQ过程
频率统计过程
例子:
data b;/*读入数据*/
input num $ t1-t3;
v=MEAN(OFt1-t3);
cards;
020221 76 9890
020122 65 5687
020221 35 7998
020223 85 7799
020126 87 7990
020127 57 5860
020227 77 9798
020228 61 5949
020129 77 6787
020331 88 9790
010131 69 9080
010230 72 5980
020232 66 7778
020136 67 7987
020138 90 7579
;
PROC FORMAT ;/*产生成绩等级的格式*/
VALUE vfmt LOW-<60='C'
60-<80='B'
80-HIGH='A';
PROC FREQ data=b; /*对成绩各等级频数分析*/
FORMAT v vfmt.;
TABLES v;
run;
二维表
PROC FREQ DATA=ep.ear_exp;
TABLES reg*wor;
RUN;
N维
*链接
data b;/*读入数据*/
input num $ t1-t3;
v=MEAN(OFt1-t3);
cards;
020221 76 9890
020122 65 5687
020221 35 7998
020223 85 7799
020126 87 7990
020127 57 5860
020227 77 9798
020228 61 5949
020129 77 6787
020331 88 9790
010131 69 9080
010230 72 5980
020232 66 7778
020136 67 7987
020138 90 7579
;
PROC FORMAT ;/*产生成绩等级的格式*/
VALUE vfmt LOW-<60='C'
60-<80='B'
80-HIGH='A';
PROC FREQ data=b; /*对成绩各等级频数分析*/
FORMAT v t1-t3 vfmt. ;
TABLES t1*t2*t3;
run;
最后一个变量是列,倒数第二是行,其他是层
6TABULATE过程
制表过程
例子
data test;
input a b @@;
cards;
1 1 2 1 2 21 3 2 3 2 1 1 2 2 1 1 3 2 3
;
proc tabulate;
class a b;
table a*b;
run;
2个都是列方向维度,a是控制维度,b子维度
table b*a;
控制维度,子维度变化
table b a;
分别从b,a统计
Class分类变量
Var分析变量
统计量
7UNIVARIATE过程
单变量统计过程
计算常用统计量,画图,频数表,正态性检验
例子:
data blood;
input number calcium phosphrs glucose @@;
/* number='identification number'
calcium='calcium mg percent'
phosphrs='inorganicphosphorus mg percent'
glucose='glucosemg percent' */
cards;
15 10.7 4.1 136 63 10.7 3.3 325 239 10.4 4.9 103 477 10.1 4.1 91
263 11.1 4.2 100 480 9.9 3.5 92 16 10.3 4.6 98 64 10.0 3.5 95
22 10.0 3.6 85 77 10.5 4. 100 266 9.7 4.4 100 494 10.1 2.4 96
39 8.8 2.7 90 97 10.0 4.5 97 307 10.0 4.1 117 520 9.8 3.3 80
338 10.4 3.5 93 523 9.0 3.7 87 44 10.5 4.5 160 132 9.5 3.7 105
46 10.0 3.0 95 152 9.8 3.8 100 383 10.6 5.1 91 541 10.8 4.1 120
48 9.9 2.7 90 156 9.7 3.2 90 408 9.5 4.3 135 544 9.1 3.7 111
416 9.8 4.1 105 554 9.4 3.4 132 51 9.9 4.1 100 164 9.6 3.3 155
56 9.7 3.1 110 216 10.7 5.3 117 420 10.2 3.0 97 561 9.9 3.8 102
57 10.6 4.4 138 221 10.6 4.6 110 441 9.9 3.9 98 575 10.7 3.9 100
457 10.0 4.2 95 629 10.2 3.7 104 59 9.4 3.5 95 225 9.5 4.5 95
61 10.1 4.0 97 234 10.4 4.3 100 473 10.0 4.0 93 644 10.0 3.6 110
;
PROC UNIVARIATE DATA= BLOODPLOT NORMAL FREQ;
VAR PHOSPHRS;
RUN;
结果:
8线性回归REG
Proc reg<选择项>
Var 变量表
By 变量表
Freq 变量表
Weight变量表
Add
Delete
Model 因变量=自变量表 </选择项>
Test
Mtest
例子:
DATAreg1;
INPUT xy @@;
CARDS;
820 165 780 158 720 130 867 180 690 134
787 167 934 186 679 145 639 120 820 158
PROCCORR;
VAR x y;
RUN;
PROC REG;
MODEL y=x;
RUN;
PROC REG data=reg1;
MODELy=x/NOINT;
RUN;
data reg2;
input x@@;
y=x*0.19974;
cards;
1000 900
;
data reg1;
set reg2 reg1;
run;
PROC REG data=reg1;
MODELy=x/NOINTr cli clm;
RUN;
GLM过程
DATA reg1;
INPUT x y @@;
CARDS;
820 165 780158 720 130 867 180 690 134
787 167 934186 679 145 639 120 820 158
;
proc GLM data=reg1;
model y=x/noint;
run;
9 逐步选择法STEPWISE
Proc stepwise
前进法f
MODEL oxy=age weight runpulse maxpulse rstpulseruntime/forward ;
后退法 b
MODEL oxy=age weight runpulse maxpulse rstpulseruntime/backward
;
逐步回归法:前进法修正
Stepwise
最大全相关系数平方改进法
Maxr:
最小全相关系数平方改进法
minR
适用范围:多元线性回归,自变量选择
10指数曲线拟合NLIN过程
使用场景:
11 logistic回归
模型:
向前选择法,
向后剔除法
逐步选择法
最优子集法
Section=模型
Proc logistic<选项>
By
Class
Freq
Model 因变量=自变量表</选项>
Test
Weight
Output out=…
12主成分分析
例子
data tmp131;
input x1 x2 x4 x3@@;
cards;
40 2 5 20 40 1 19 40
10 1.5 5 30 270 4 13 60
120 3 13 50 280 3.5 11 60
250 4.5 18 0 170 3 9 60
180 3.5 14 40 220 2.5 14 30
130 2 30 50 140 2 20 20
220 1.5 17 20 220 2 14 10
160 1.5 35 60 40 1 10 0
120 3.5 9 50 20 1 12 60
10 1.5 12 50 120 2 20 0
;
proc princomp data=tmp131 out=tmp1outstat=liv2 prefix=pre standard cov;
proc corr data=tmp1;
var x1-x4;
with pre1-pre4;
run;
13 factor 因子分析
例子:
data l137;
input +1x1-x10;
cards;
1 947.0023.40 14.80 45.30 0.46 85.20 373.00 9.54 0.37 3.88
2 935.0023.20 16.20 41.70 0.40 83.30 305.00 7.90 0.38 4.81
3 918.2020.90 14.80 43.30 0.38 82.60 320.00 9.51 0.43 4.52
4 910.7023.40 16.10 44.00 0.46 85.20 338.00 8.60 0.33 3.84
5 905.0022.90 17.00 39.80 0.45 80.40 348.00 9.53 0.42 4.40
6 892.6022.30 15.70 44.00 0.41 85.40 286.00 8.67 0.39 4.50
7 853.4020.90 15.90 41.60 0.35 85.40 273.00 9.79 0.42 4.29
8 837.8020.20 14.40 37.30 0.33 82.50 326.00 7.62 0.36 4.73
9 833.3022.20 15.20 38.30 0.37 82.20 310.00 7.84 0.40 5.10
10 760.3020.40 15.50 40.70 0.32 84.20 268.00 7.75 0.35 4.52
;
proc factor simple corr data=l137 ;
var x1-x10;
run;
proc factor PRIORS=SMCMSA SCREE RESIDUAL PREPLOT NFACTORS=4
ROTATE=PROMAXREORDER PLOT
;
run;
- Sas常用过程
- SAS常用过程
- SAS过程步常用语句
- SAS:SAS 常用过程之 统计描述过程proc univariate
- SAS:SAS 常用过程之 统计描述过程proc freq
- SAS:SAS 常用过程之 统计描述过程proc means
- SAS 常用过程之 PROC UNIVARIATE
- SAS常用过程之PROC UNIVARIATE
- SAS:SAS常用语句 HISTOGRAM
- SAS常用语句
- sas常用选项
- Sas常用函数
- SAS常用功能
- SAS常用函数
- 统计描述与SAS过程
- SAS ODS 过程输出图形
- SAS里面的optmodel过程
- SAS中的report过程简介
- Mac OS X 10.8.2终端切换root用户
- poj 2945-关于字符串的排序
- 面试
- 拷贝构造函数和赋值构造函数的区别
- linux dup()\dup2()函数
- Sas常用过程
- Ext进度条
- 视频通讯僵局已由思科打破
- JS获取Cookie值
- HttpClient4之模拟http请求
- 面试
- cocos2d-x之TestCpp界面UI代码分析
- sql_学习笔记
- js验证 数字、正整数