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过程步

编号 过程名 功用 必要的语句
means 计算基本统计量 proc means;
var x;
run;
chart 制作次数分布表
次数分布图
proc chart;
hbar x;
run;
univariate plot 正态分布检验 proc univariate plot;
var x;
run;
PRINT 数 据 输 出 PROC PRINT ;
RUN;
SORT 数 据 排 序 PROC SORT;
BY age;
PROC PRINT;
RUN;
tabulate 制作表格 PROC PRINT;
Proc tabulate format=8.0;
Class repname month;
var unitsold;
table month,repname*unitsold*sum;
RUN;
anova; 单方面分类的方差分析 proc anova;
classes a;
model x = a;
 
anova 双方面分类的方差分析 proc anova;
classes block a;
model x =block a;
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数据步与过程步,数据步语句的更多相关文章

  1. 一个电商项目的Web服务化改造6:单元测试4步走,构造数据、执行操作、断言、回滚

      最近一直在做一个电商项目,需要把原有单系统架构的项目,改造成基于服务的架构,SOA.     有点挑战,做完了,会有很大进步. 单元测试,在很早之前的文章已经介绍过.     可以在这里看到相关的 ...

  2. 直接获取摄像头传回的图像数据(人脸、微笑、眨眼: 识别-->第一步):图像识别第一步

    转:ios通过摄像头获取特定数据(http://www.2cto.com/kf/201404/290777.html) 凝视: 因为近期项目需求,须要一个可以实现对摄像头图片获取当中部分内容的功能,类 ...

  3. 图解DHCP的4步租约过程

    图解DHCP的4步租约过程   DHCP租约过程就是DHCP客户机动态获取IP地址的过程. DHCP租约过程分为4步: ①客户机请求IP(客户机发DHCPDISCOVER广播包): ②server响应 ...

  4. STM32F0xx_DMA收发USART数据配置详细过程

    前言 关于DMA(Direct Memory Access)的功能,前面关注我微信的人应该知道,其实我已经在F1芯片上简单讲了一下.有网友要求在F0讲解一下使用DMA收发串口数据.今天就应网友要求总结 ...

  5. redis启动加载过程、数据持久化

    背景 公司一年的部分业务数据放在redis服务器上,但数据量比较大,单纯的string类型数据一年就将近32G,而且是经过压缩后的. 所以我在想能否通过获取string数据的时间改为保存list数据类 ...

  6. seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案

    seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案 说明: 之所以只用nacos进行了注册与发现,因为seata使用naco ...

  7. sk_buff封装和解封装网络数据包的过程详解

    转自:http://www.2cto.com/os/201502/376226.html 可以说sk_buff结构体是Linux网络协议栈的核心中的核心,几乎所有的操作都是围绕sk_buff这个结构体 ...

  8. sk_buff封装和解封装网络数据包的过程详解(转载)

    http://dog250.blog.51cto.com/2466061/1612791 可以说sk_buff结构体是Linux网络协议栈的核心中的核心,几乎所有的操作都是围绕sk_buff这个结构体 ...

  9. OGG "Loading data from file to Replicat"table静态数据同步配置过程

    OGG "Loading data from file to Replicat"table静态数据同步配置过程 一个.mgr过程 GGSCI (lei1) 3> view p ...

随机推荐

  1. 《物质世界 (Outward)》证明不必压缩制作大型角色扮演游戏的时间

    <物质世界>是一款雄心勃勃的开放世界角色扮演游戏 (RPG),设计这款游戏的公司规模只有您预期的三分之一.游戏中的一切都是动态的,拥有许多炫酷的系统设计,大家可以分屏合作掌控整个场景.参与 ...

  2. 设计模式C++实现

    准备写一系列笔记用来记录学习设计模式的过程,同时写出自己对几种主要的设计模式的理解,以及编码实现,同时总结. 主要参考书籍就是 <Head First Design Patterns>这本 ...

  3. 网络流dinic模板,邻接矩阵+链式前向星

    //这个是邻接矩阵的#include<iostream> #include<queue> #include<string.h> #include<stdio. ...

  4. mongodb4简明笔记

    就一数据库,掌握基本用法,其他的现学现卖就行了. 所以要把握基本套路. 创建数据库=>使用数据库=>创建集合=>使用集合=>创建文档=>使用文档 1.数据库 mongod ...

  5. MobSF 框架安装使用部署

    1.MobSF 简介 MobSF是Mobile Security Framework的缩写,这是一款智能化的开源移动应用(Android.IOS.Windows)测试框架,可以对应用进行动态.静态分析 ...

  6. scrum立会报告+燃尽图(第三周第四次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 项目地址:https://coding.net/u/wuyy694 ...

  7. “我爱淘”第二冲刺阶段Scrum站立会议8

    完成任务: 完成学院分类的点击查看书籍功能,可以点击书的条目查看书的详细信息.完善界面显示,实现购买功能,优化提示,购买后就将该书从数据库中删去. 计划任务: 将书的详细信息进行完善,并且可以点击收藏 ...

  8. 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程

    01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...

  9. cobbler-web 网络安装服务器套件 Cobbler(补鞋匠)

    Cobbler作为一个预备工具,使部署RedHat/Centos/Fedora系统更容易,同时也支持Suse和Debian系统的部署. 它提供以下服务集成:   * PXE服务支持 * DHCP服务管 ...

  10. PXE推一半失败,HP服务器、曙光服务器删除数据

    一.#设备:惠普HP DL380 Gen9 PXE安装失败,系统尝试从硬盘启动 需要将安装未完整的系统数据删除,以便正常装机 从控制台重启设备 重启后,HP在此界面选择Intelligent Prov ...