SAS数据步与过程步,数据步语句
SAS数据步与过程步,数据步语句
http://www.biostatistic.net/thread-2045-1-1.html ---转载---原文作者:biostar
(出处: 生物统计家园)
数据步与数据步语句
1.数据步基本概念
数据步是产生数据集的一组语句。一个数据步可以建立一个或多个数据集。在一份程序中可以有多个数据步。数据步程序还可以对已建立了的数据集进行修改和产生输出。
2.程序变量与数据集变量
SAS变量有程序变量与数据集变量。数据集的列也叫变量。
3. 数据步的三种基本结构
(1)数据源是DOS数据文件
如果数据源是一个DOS的ASCll码数据文件存储于磁盘来建立数据集,其数据步程序具有如下格式:
DATA语句;
INFILE语句;
INPUT语句;
[其它数据步语句;]
;
第一行“DATA语句;”告诉系统数据步开始,并给出将要产生的数据集名字及其有关信息。
第二行“INFILE语句;”中给出数据源文件的文件名等,执行该语句后,指定的DOS文件被打开。
第三行“INPUT语句;”给出将要从打开的文件中读取值的程序变量名及其信息。
第四行“[其它数据步语句;]”是指此处还可以写其它允许使用SAS数据步语句,此行的内容是可选的。一般情况下,由前三行就可以构成一个数据步。
最后一行是一个分号,它是本数据步结束的信息。
(2)数据源在作业流中
格式:
DATA语句;
INPUT语句;
[其它数据步语句;]
CARDS;
;
“输入数据行”(每一行中的数据用一个或多个空格分隔,每一行的行末无标点。通常,一行数据是客观实体的一个观测的原始数据。有自由型、列型、格式化型)
(3)数据源是已存在的数据集
利用已经建立了的数据集中的数据来产生新的数据集。
格式:
FILENAME语句
INFILE语句
;
这个语句给出完整的DOS文件标识包括驱动器名、目录名、文件名和扩展名,
一个文件标识可以唯一指定一个文件。
4、数据步程序控制语句
(1)GOTO 转向语句
格式:
GOT 标号;
执行该语句后,程序控制转向程序中以GOTO后的而不是执行GOTO语句的下一行。
(2)STOP 停止执行语句
例:
DATA a;
INPUT X @@;
IF x<0 THEN ST O P;
CARDS;
P R O C?PRINT;
(3) if 条件语句
格式:
IF 表达式 THEN
当表达式的值为真时执行其后的SAS语句。
(4)RUN;
执行前面的语句。
(5)多向选择语句
格式:
SELECT[(表达式 0)」;
WHEN(表达式1)语句1;
WHEN(表达式2)语句2;
......
WHEN(表达式 n)语句n
......
(6) DELETE语句
格式:
DELETE;
语句的功能是当执行了DELETE语句后,该语句之后的语句将不被执行并且当前观察不送入数据集,而返回数据步的开始(即DATA语句的下一行),开始执行新的一遍数据步。
DELETE语句与条件语句配合,可以实现用数据源的部分数据来建立数据集。
(7) 循环语句
SAS的循环语句有步长型、离散型、当型和直到型四种形式。
此外还有其它的一些语句,将在以后的例题中逐一加以介绍。
SAS过程步
编号 | 过程名 | 功用 | 必要的语句 |
1 | means | 计算基本统计量 | proc means; var x; run; |
2 | chart | 制作次数分布表 次数分布图 |
proc chart; hbar x; run; |
3 | univariate plot | 正态分布检验 | proc univariate plot; var x; run; |
4 | 数 据 输 出 | PROC PRINT ; RUN; |
|
5 | SORT | 数 据 排 序 | PROC SORT; BY age; PROC PRINT; RUN; |
6 | tabulate | 制作表格 | PROC PRINT; Proc tabulate format=8.0; Class repname month; var unitsold; table month,repname*unitsold*sum; RUN; |
7 | anova; | 单方面分类的方差分析 | proc anova; classes a; model x = a; |
8 | anova | 双方面分类的方差分析 | proc anova; classes block a; model x =block a; |
9 | anova | 三方面分类的方差分析 | proc anova; classes A B T; model X1=A B T ; |
10
|
可选择: LSQ duncan duncan |
多重比较 可选择: LSQ测验 邓肯Q测验 图基Q测验 |
proc anova; classes block a; model x =block a; means block a /LSQ alpha=0.05; means block a /LSQ alpha=0.01; |
11
|
anova | 2*2 复因子试验的统计分析方法 | proc anova; classes block pinxi midu; model x=block pinxi midu pinxi*midu; |
12
|
anova; | 2*2*2 复因子试验的统计分析方法 | proc anova; classes block k p n x; model x=block k p n k*p k*n p*n k*p*n ; |
13
|
glm | 协方差分析 | proc glm; class t ; model y=t x; |
14
|
anova | 多元方差分析 | proc anova; class block tre ; model x1 x2 x3 =block tre; manova h=block tre /summary; run; |
15
|
anova | 正交设计的分差分析 | proc anova; classes block a b c d ; model x = block a b c d ; means block a b c d /lsd duncan tukey; run; |
16
|
nested | 嵌套设计的方差分析 | proc nested; classes plant leaf; var calcium; run; |
17
|
glm | 带有交叉项的双向不均衡设计的方差分析 | proc glm; class drug disease; model y=drug disease drug*disease /ss1 ss2 ss3 ss4; run; |
18
|
corr | 简 单 相 关 系 数 | proc corr; var y;with x1; run; |
19
|
corr | 一个变量与多个变量的简单相关系数 | proc corr; var y;with a b c d e f ; run; |
20
|
corr | 多个变量间的简单相关系数的计算 | proc corr; run; |
21
|
plot | 相关点式图的绘制 | plot y*x='+'; rproc plot; un; |
22
|
corr,partial | 一 级 净 相 关 | proc corr; var y;with a; partial f; run; |
23
|
corr,partial | 二 级 净 相 关 | proc corr; var y;with f; partial a b ; run; |
24
|
corr,partial | 三 级 净 相 关 | proc corr; var y;with f; partial a b d ; run; |
25
|
cancorr | 典 型 相 关 分 析 | proc cancorr; var y1 y2 y3 ;with x1 x2 x3 ; run; |
26
|
reg | 直 线 回 归 | proc reg; model y=x1; run; |
27
|
reg | 二 元 回 归 | proc reg; model y=x1 x2; run; |
28
|
reg 可选择: forward backward stepwise |
多 元 回 归 可选择: 向 前 回 归 向 后 回 归 双 重 逐 步 回 归 |
proc reg; model g=a b c d e f /selection=forward; run; |
29
|
cluster 可选择: average wards density single twostage |
聚 类 分 析 可选择: 类 平 均 法 重 心 法 离 差 平 均 和 法 密 度 估 计 法 最 短 距 离 法 两阶段密度估计法 |
proc cluster method=average outtree=cate; var a b c d e f ; id bh; proc tree; run; |
30
|
fastclus | 动态聚类分析 | proc fastclus data=iris maxc=2 maxiter=10 out=clus; var sepallen sepalwid petallen petalwid; proc freq; tables cluster*species; run; |
31
|
standard | 数据标准化 | proc standard mean=0 std=1 out=new; run; |
32
|
princomp | 主 成 分 分 析 可选择: 由 协 差 阵 计 算 由 相 关 矩 阵 计 算 |
proc princomp cov; run; 或 proc princomp; run; |
33
|
factor 可选择: |
因 子 分 析 可选择: 主 分 量 分 析 主 因 子 分 析 |
proc factor data=socecon simple corr; run; 或 proc factor data=socecon priors=smc msa scree residual preplot rotate=promax reorder plot outstat=fact all; proc print; run; |
34
|
ttest | 成 组 法 T 检 验 | proc ttest data=pinzhs; class pin; var yield; run; |
35
|
univariate | 配 对 法 T 检 验 | proc univariate data=chromat; var methdiff; run; |
36
|
npar1way | 秩 和 检 验 | proc npar1way data=gastric wilcoxon; class group; var lysolevl; run; |
37
|
univariate | 符 号 秩 检 验 | proc print data=chromat; proc univariate data=chromat; var methdiff; run; |
38
|
freq | 卡平方测验 可选择: 2×2 联列表式 2×j 联列表式 r×c联列表式 |
data; do a=1 to 2; do b=1 to 2; input x@@; output; end; end; cards; ...... ; proc freq; weight x; tables a*b / chisq ; run; |
39
|
reg | 二 次 抛 物 线 | proc reg data=uspop; var yearsq; model pop=year/r cli clm; plot r. *p. ; add yearsq; print; plot; plot pop*year='a' predicted.*year='p' u95. *year='u' l95. *year='l'/overlay; run; |
40
|
NLIN 可选择: dud MARQUARDT |
负 指 数 曲 线 可选择: 试 位 法 麦 夸 特 法 |
PROC NLIN BEST=10 METHOD=dud; PARMS B0=0 TO 2 BY .5 B1=.01 TO .09 BY .01; MODEL Y=B0*(1-EXP(-B1*X)); DER.B0=1-EXP(-B1*X); DER.B1=B0*X*EXP(-B1*X); OUTPUT OUT=B P=YHAT R=YRESID; PROC PLOT DATA=B; PLOT Y*X='A' YHAT*X='P'/OVERLAY VPOS=25; PLOT YRESID*X/VREF=0 VPOS=25; RUN; |
41
|
catmod | 逻 辑 斯 蒂 回 归 (标 准 响 应 函 数) |
proc catmod; weight count; direct heat soak; model y=heat soak / freq ml nogls covb corrb; quit; |
42
|
sort RSREG |
二 次 响 应 面 分 析 | proc sort; by time temp; proc rsreg; model mbt=time temp; ridge max; run; |
43
|
lackfit | 欠适测验 | model mbt=time temp/lackfit; ridge max; run; |
44
|
score | 得 分 分 析 | proc score data=fitness score=factout out=fscore; var age weight runtime runpulse rstpulse; run; |
45
|
stepdisc | 逐 步 判 别 分 析 | proc stepdisc data=iris bsscp tsscp; class species ; var sepallen sepalwid petallen petalwid; run; |
46
|
candisc | 典 型 判 别 分 析 | proc candisc data=iris out=outcan distance anova; class species ; var sepallen sepalwid petallen petalwid; run; proc plot; plot can2*can1=species; format species specchar.; title'Plot of Canonical Variables'; run; |
47 | RSREG | 岭 嵴 分 析 | PROC SORT; BY X1 X2 X3; PROC RSREG; MODEL Y=X1 X2 X3/LACKFIT; RUN; DATA B; *-------GET THE ACTUAL VALUES--------; SET A END=EOF; OUTPUT; *-------CREATE AN X1*X2 GRID FOR PLOTTING--------; IF EOF THEN DO; Y=.; X3=1.77; DO X1=-1.5 TO 1.5 BY .1; DO X2=-2 TO 2 BY .1; OUTPUT; END; END; PROC RSREG DATA=B OUT=C NOPRINT; MODEL Y=X1-X3/PREDICT; DATA B; SET C; IF X3=1.77; PROC PLOT ; PLOT X1*X2=Y/CONTOUR=6 HPOS=100 VPOS=36 HSPACE=10 HAXIS=-2 TO 2 BY .5 VAXIS=-1.5 TO 1.5 BY .5; RUN; |
SAS数据步与过程步,数据步语句的更多相关文章
- 一个电商项目的Web服务化改造6:单元测试4步走,构造数据、执行操作、断言、回滚
最近一直在做一个电商项目,需要把原有单系统架构的项目,改造成基于服务的架构,SOA. 有点挑战,做完了,会有很大进步. 单元测试,在很早之前的文章已经介绍过. 可以在这里看到相关的 ...
- 直接获取摄像头传回的图像数据(人脸、微笑、眨眼: 识别-->第一步):图像识别第一步
转:ios通过摄像头获取特定数据(http://www.2cto.com/kf/201404/290777.html) 凝视: 因为近期项目需求,须要一个可以实现对摄像头图片获取当中部分内容的功能,类 ...
- 图解DHCP的4步租约过程
图解DHCP的4步租约过程 DHCP租约过程就是DHCP客户机动态获取IP地址的过程. DHCP租约过程分为4步: ①客户机请求IP(客户机发DHCPDISCOVER广播包): ②server响应 ...
- STM32F0xx_DMA收发USART数据配置详细过程
前言 关于DMA(Direct Memory Access)的功能,前面关注我微信的人应该知道,其实我已经在F1芯片上简单讲了一下.有网友要求在F0讲解一下使用DMA收发串口数据.今天就应网友要求总结 ...
- redis启动加载过程、数据持久化
背景 公司一年的部分业务数据放在redis服务器上,但数据量比较大,单纯的string类型数据一年就将近32G,而且是经过压缩后的. 所以我在想能否通过获取string数据的时间改为保存list数据类 ...
- seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案
seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案 说明: 之所以只用nacos进行了注册与发现,因为seata使用naco ...
- sk_buff封装和解封装网络数据包的过程详解
转自:http://www.2cto.com/os/201502/376226.html 可以说sk_buff结构体是Linux网络协议栈的核心中的核心,几乎所有的操作都是围绕sk_buff这个结构体 ...
- sk_buff封装和解封装网络数据包的过程详解(转载)
http://dog250.blog.51cto.com/2466061/1612791 可以说sk_buff结构体是Linux网络协议栈的核心中的核心,几乎所有的操作都是围绕sk_buff这个结构体 ...
- OGG "Loading data from file to Replicat"table静态数据同步配置过程
OGG "Loading data from file to Replicat"table静态数据同步配置过程 一个.mgr过程 GGSCI (lei1) 3> view p ...
随机推荐
- git remote add origin错误
如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...
- scikit-learn使用PCA降维小结
本文在主成分分析(PCA)原理总结和用scikit-learn学习主成分分析(PCA)的内容基础上做了一些笔记和补充,强调了我认为重要的部分,其中一些细节不再赘述. Jupiter notebook版 ...
- cs231n学习笔记(一)计算机视觉及其发展史
在网易云课堂上学习计算机视觉经典课程cs231n,觉得有必要做个笔记,因为自己的记性比较差,留待以后查看. 每一堂课都对应一个学习笔记,下面就开始第一堂课. 这堂课主要是回顾了计算机视觉的起源及其后来 ...
- 华为中兴借eBay出海 靠零售渠道撬动市场
在跨境电商领域,大多数中国商家依靠“中国制造”的优势和价格战策略打拼出一条血路,在海外市场占领了自己的一席 之地.不过,山寨货纷纷出海的同时,中国本土的品牌商们也开始了探索海外市场之旅.目前,华为.中 ...
- Amazon及其亏本诱饵策略还能坚持多久?
Amazon 刚刚公布了最新的财报,亏损 4100 万美元.这是这家电子商务巨头连续 5 个季度以来的第 3 次亏损.但是华尔街似乎却一片叫好声,当日 Amazon 的股价也涨了近 8 个点达 359 ...
- 曾经我是一个只会excel的数据分析师,直到我遇到了……
我是一个数据分析师. 准确来说我是一个当年只会excel数据透视表,就天不怕地不怕地来当数据分析师的人.当年的某一天,我的老板Q我: 小刘啊,我小姨子给了我一个全国市委书记的名单,你帮我看看,有什么规 ...
- 子元素设置margin-top后,父元素跟随下移的问题
子元素设置margin-top后,父元素跟随下移的问题 <!DOCTYPE html> <html lang="en"> <head> < ...
- 欢迎来怼-----Beta冲刺贡献分数分配结果
队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文
- 2018-2019-20172321 《Java软件结构与数据结构》第五周学习总结
2018-2019-20172321 <Java软件结构与数据结构>第五周学习总结 教材学习内容总结 第9章 排序与查找 9.1查找 查找是这样一个过程,即在某个项目组中寻找某一指定目标元 ...
- java沙盒入门(2)
Java在Internet上的应用已经日渐普遍,使用在网页上的Java程序称之为applet,利用Applet的嵌入能够使原本静态的HTML富有变化,并且能够做到"声"." ...