从本质上讲, SAS 是一种完善的第四代计算机语言。因此要真正掌握它,我们仍然要抛开其华丽的外表,从学习它的核心―― SAS 程序开始。 SAS 看成一个计算能力极强的统计学白痴(之所以这样说,是因为它计算能力虽然极强,却只能帮你计算而不能提出自己的实验设计方案或
网站地图本站论坛
高级搜索收藏本站
  • SAS程序初步

  • 点击:    作者:   来源: 日期:2007-12-04    本站论坛

§

3.3 SAS程序的程序步

通俗的讲,

SAS的程序步(有的书中也称过程或过程步)就是已经编好了的用于数据整理和统计的计算机程序,你只需要调用它们就是了。程序步总是用一个PROC语句开始,后面紧跟着程序步名,用以区分不同的程序步。以下是一些常用的程序步的名称及功能。

程序步名

SORT 将指定的数据集按指定变量排序
PRINT 将数据集中的数据列表输出
MEANS 对指定的数值变量进行简单的统计描述
FREQ 对指定的分类变量进行简单的统计描述
TTEST 对指定的变量做t检验
ANOVA 对指定的变量做方差分析
NPAR1WAY 对指定的变量做非参数检验
REG 对指定的变量做回归分析
CORR 对指定的变量做相关分析
CHART 绘出低分辨率的统计图

 PROC就是程序(procedure)的缩写,而程序步的名字大都是其功能相对应的单词或词组的缩写。

可见

SAS的许多功能就是通过程序步来体现的,可如此多的种类也使我们难以总结出一个程序步的通式来。不过仍可大致给出如下结构:
PROC 过程名 [DATA=数据集名] [选项];
    该过程的专用语句描述;
    [VAR 变量序列;]
    [WHERE 条件表达式...;]
    [BY 变量序列;]
Run;

方括号里的语句均可以省略,在这时该过程按最通常的情况来处理,即:

    • 处理最新建立的
    • 处理所有的变量(或对一个计算过程来说处理全部数值变量)。
    • 一次处理整个数据集而不是某个子集。

我们在第一章中用到的

但有时我们的要求超出了默认方式所提供的范围,这时就要动用方括号里的秘密武器了。

SAS数据集。 PRINT程序步就是采用的这种默认方式。
    • DATA参数 指明所需处理的数据集名,请注意在这里它是一个参数而不是语句。
    • VAR语句 如果只想分析某一个或几个特定的变量,则可用VAR语句指定它们。例如只想显示变量x的列表,则PRINT过程如下:
      Proc print ;
          Var x;
      Run;

      如果想显示

      var x y;

      当然,也可以将

      VAR语句删除,结果相同。
        • Where语句 如果你想处理的不是整个数据集而只是其中符合某种条件的子集,那么WHERE语句将会非常有用,如上例中我们只想显示大于50x变量的值,则在PRINT过程中加入where语句如下:

          Where x>50;

          如果条件变为

          xy两个变量的值都要大于50,则where语句改为:

          where x>50 and y>50;

            • By语句 如果你需要分组处理数据,例如要按性别分组输出统计结果,你有两种选择,一是用不同的where语句将同一个程序步反复写几遍;另一种显然更酷的方法就是采用by语句。如上例我们想按不同的y值输出x值,则加入by语句如下:

              By y;

              使用BY语句要求数据集已经按BY语句中指定的变量排序。如果没有排序,则程序无法正确运行。可以用SORT过程来排序,语法结构如下:

              PROC SORT DATA=数据集名;
                  BY 变量名列;
              RUN;

              上一篇:SAS/ASSIST视窗简介   下一篇:统计图

              共5页: 上一页 [1] [2] [3] 4 [5] 下一页

推荐文章
 
相关文章
推荐专题
 

↑返回顶部   打印本页   关闭窗口↓  
 本站申明 联系我们 网站地图
Copyright© 试验方案

Powered by DedeCms email:htmyth#yahoo.com.cn QQ:386836509

Optimized to 1024x768 to Firefox,Opera and MS-IE6