发表于2024-11-30
第一章 统计软件使用基础
SAS是国际著名的统计分析软件,不但具有数据管理、计算和分析的高级语言编程功能,还有基于菜单系统的SAS/Analyst(分析家)模块。Excel 是电子表格软件,在管理数据的基础上,通过编辑公式、分析工具库和函数数据,也具有部分常用的数据统计功能。本章简单介绍SAS 软件的编程基础和SAS/Analyst(分析家)模块操作,Excel 软件公式编辑、分析工具库和函数数据操作的基础知识,为通过SAS 软件和Excel 软件实现试验数据的统计分析奠定基础。
第一节 SAS编程基础
SAS 是“统计分析系统”(Statistical Analysis System)的英文缩写。该系统是由北卡罗来纳州立大学统计系的两位教授A.J.Barr 和J.H.Goodnight 于20世纪60年代末开发的。最初是以统计分析和线性统计模型为主,至今已开发成为功能强大的集成应用软件系统。本软件包括30 多个工具模块,广泛应用于实用统计、运筹学、质量控制、大型矩阵计算等,是国际上公认的统计软件。目前最新版本为SAS 9.3 。
本书以Windows XP操作系统下的SAS 9.0主,介绍SAS统计功能的具体使用方法。本书所做的介绍仅供读者对SAS有一些肤浅的了解,能够使用SAS软件处理本书中的各种统计方法。若要对SAS 统计功能有深入了解,请参考书后所引用的相关书籍。
一、SAS 的界面操作
单击“开始”菜单“程序”项,光标移到“ SAS”程序项处,选择“ The SAS System for Win-dows 9.0(简体中文)” ,单击即启动SAS 。
SAS 启动后在屏幕上出现的是显示管理系统(display manager)。显示管理系统主要有三个窗口,一个是编辑器(PROGRAM EDITOR)窗口,一个是日志(LOG)窗口,一个是输出(OUTPUT)窗口。其中编辑器和日志两个窗口在启动后可直接看到,屏幕的左上角是命令框。
上述三个窗口的主要功能如下:① 编辑器窗口:输入SAS 程序和数据;② 日志窗口:显示执行程序过程中的有关信息;③ 输出窗口:显示程序执行的结果。
二、SAS 的基础知识
(一) SAS 语句
SAS 语言的基本单位是语句。每个SAS 语句一般由一个关键词(如DATA,PROC,IN-PUT,CARDS,BY)开头,包含SAS 名字、特殊字符、运算符等,以分号“ ;”结束。SAS 关键词是用于SAS 语句开头的特殊单词,SAS 语句除了赋值、累加、注释、空语句以外都以关键词开头。SAS 名字在SAS 程序中标识各种SAS 成分,如变量、数据集、数据库等。SAS 名字由1到8个字母、数字、下划线组成,第一个字符必须是字母或下划线。SAS 关键词和SAS 名字都不分大小写。
(二) SAS 程序语法规则
SAS 语句不需要单独占一行,一个语句可以写到多行(不需任何续行标志) ,也可以在一行连续写几个语句。SAS 语言中只要允许用一个空格的地方就可以加入任意多个空白(空格、制表符、回车) ,允许用空格的地方是名字周围和运算符周围。如程序
proc print
data = aa ;
by avg ;
run ;
和
proc print data = aa ;by avg ;run ;
是等效的。
SAS 关键词和名字不分大小写,但字符型数据值要区分大小写,如“ Beijing” 和“BEI-JING”被认为是不同的数据值。
在SAS 程序中可以加入注释,用/ *和*/在两端界定注释,这种注释可以出现在任何允许加入空格的位置,可以占多行。我们一般只把注释单独占一行或若干行,不把注释与程序代码放在同一行。注释的另一个作用是把某些代码暂时屏蔽使其不能运行。下面是一个注释的例子:
data split ; / *裂区设计资料分析*/
input r a b x ;
cards ;
…
;
(三) SAS 语句的赋值
在SAS 中用赋值语句计算一个值并存放到变量中。格式为“变量名= 表达式” 。例如:
y = (x1 + x2)/2 ;
isfem = (color = 崔紫崔) ;
y = arsin(sqrt(x/100)) *180/3.1415926 ;
obs = .;
其中,第一个赋值语句用一个公式计算平均分数;第二个生成一个取值为0 或1 的变量,花色为紫时为1 ,否则为0 ;第三个使用了正弦函数和乘方运算;第四个给变量赋了缺失值。
注意:想试验上述语句要把它们放入数据步中,并且等号右边的表达式中的各变量应该是存在的,否则会得到缺失值结果。
三、SAS 的数据步
SAS 程序包括数据步和过程步两种结构,每一个步是一段相对完整的可以单独运行的程序。SAS 语言的编程计算能力主要由SAS 数据步提供。数据步用来生成、整理数据和自编程计算,过程步调用SAS 已编好的处理过程对数据进行处理。应用SAS 编程序进行计算主要在数据步中进行。
(一) 数据步的基本结构
数据步中可以使用INPU T 、DATALINES(CARDS) 、INFILE 、SET 、MERGE 等语句指定数据来源输入数据,也可以用赋值、分支、循环等编程结构直接生成数据或对输入的数据进行修改。
1.DATA 语句
DATA 语句以关键词DATA 开头,后面给出一个数据集名,这是本数据步要生成的数据集的名字。例如:
data aa ;
也可以省略数据集名,这时SAS 自动生成一个临时数据集名。
2.INPUT 语句
指定读入数据的格式以及为读入的数据指定变量名及格式,其语法如下所示。
INPUT < 变量名1 变量名2 … 变量名n > < 选项> ;
在数据步中输入数据可以从原始数据输入,也可以从已有数据集输入。从原始数据输入要使用INPUT 语句来指定输入的变量和格式。
最简单的INPUT 语句使用自由格式:按顺序列出每个观测的各个变量名,中间用空格分开。变量如果是字符型的需要在变量名后面加一个|S 符号,|S 符与变量名可以直接相连也可以隔一个空格。
3.CARDS/DATALINES 语句
用于在SAS 系统中直接输入数据,表明所列数据的开始。数据行写在CARDS 语句(或DATALINES 语句)和一个只有一个顶头的分号的行之间。
DATA 语句、INPUT 语句、CARDS 语句的使用可见下例。
data soybean ;
input name |S nods seeds SW yield ;
cards ;
Heihe33 23.1 1495 22.3 333.4
Beijiao392 34.9 2305 17.6 405.7
Huajiang1 27.0 1868 17.7 330.6
Heihe45 29.9 2015 18.3 368.7
Heihe48 35.3 2000 16.5 330.0
Beiken0412 23.4 1333 20.8 277.3
Heinong37 31.1 1971 18.2 358.7
Dongnong48 29.9 2053 17.0 349.0
Hefeng45 24.5 1682 17.8 299.4
Kenfeng12 26.8 1926 17.9 344.8
Suinong14 29.5 1841 17.6 324.0
;
run ;
注意:这个例子的数据有11个观测,5个变量,每行数据的各变量之间用空格分隔。为输入这些数据,INPU T 语句中依次列出了5个变量名,并在字符型变量name 后加了|S 符。要生成一个数据集这是最简单的写法。
(二) 循环结构
SAS 数据步可以使用循环结构读入数据,循环结构包括计数DO 循环,当型循环和直到型循环,应用最多的是计数DO 循环。计数DO 循环的写法是:
DO 计数变量= 起始值 TO 结束值 < BY 步长> ;
< ,参数表> ???
END ;
在DO 和END 之间可以有多个语句。程序先把计数变量赋值为起始值,如果此值小于等于结束值则执行循环体语句,然后把计数变量加上步长,再判断它是否小于等于结束值,如果是则继续执行循环体,直到计数变量的值大于结束值为止。上述结构中“BY 步长”可以省略,这时步长为1 。如果步长取负值,则继续循环的条件是计数变量大于等于结束值。例如:
data ;
do a = 1 to 4 ;
do b = 1 to 3 ;
input x @ @ ;output ;
end ;
end ;
run ;
(三) 函 数
SAS 提供了比一般程序设计语言多几倍的标准函数可以直接用在数据步的计算中,其中包括所有语言都有的数学函数、字符串函数,还包括特有的统计分布函数、分位数函数、随机数函数、日期时间函数、财政金融函数等。
SAS 函数格式为函数名( < 变量1 > ,< 变量2 > ,… ) ,“函数名(OF 变量名列表) ,其中变量名列表可以是任何合法的变量名列表。
1.数学函数
ABS(x) :求x 的绝对值。
MAX(x1 ,x2 ,… ,xn) :求所有自变量中的最大一个。
MIN(x1 ,x2 ,… ,xn) :求所有自变量中的最小一个。
MOD(x ,y) :求x 除以y 的余数。
SQRT(x) :求x 的平方根。
ROUND(x ,eps) :求x 按照eps 指定的精度四舍五入后的结果,如ROUND(5654.5654 ,0.01)结果为5654.57 ,ROUND(5654.5654 ,10)结果为5650 。
LOG(x) :求x 的自然对数。
LOG10(x) :求x 的常用对数。
EXP(x) :指数函数ex 。
SIN(x) , COS(x) ,TAN(x) :求x 的正弦、余弦、正切函数。
ARSIN(y) :计算函数y = sin( x)在x 取值区间为- π
2 ,π
2 的反函数,y 取[ - 1 ,1]间值。
2.分布密度函数、分布函数
作为一个统计计算语言,SAS 提供了多种概率分布的有关函数。分布密度、概率、累积分布函数等可以通过几种统一的格式调用,格式为
分布函数值= CDF(崔分布崔, x < ,参数表> ) ;
密度值= PDF(崔分布崔, x < ,参数表> ) ;
概率值= PMF(崔分布崔, x < ,参数表> ) ;
对数密度值= LOGPDF(崔分布崔, x < ,参数表> ) ;
对数概率值= LOGPMF(崔分布崔, x < ,参数表> ) ;
CDF 计算由崔分布崔指定分布的分布函数, PDF 计算分布密度函数,PMF 计算离散分布的分布概率,LOGPDF 为PDF 的自然对数,LOGPMF 为PMF 的自然对数。函数在自变量x处计算,< ,参数表> 表示可选的参数表。
分布类型取值可以为BINOMIAL ,CHISQUARED , F ,NORMAL 或GAUSSIAN ,POISSON ,T 等。可以只写前四个字母。
例如,PDF(崔NORMAL崔, 1.96)计算标准正态分布在1.96 处的密度值(0.05844) ,CDF(崔NORMAL崔, 1.96)计算标准正态分布在1.96 处的分布函数值(0.975) 。PMF 对连续型分布即PDF 。
除了用上述统一的格式调用外,SAS 还单独提供了常用分布的密度和分布函数。
PROBNORM(x) :标准正态分布函数。
PROBT(x ,df < ,nc > ) :自由度为d f 的t 分布函数。可选参数nc 为非中心参数。
PROBCHI(x ,df < ,nc > ) :自由度为d f 的卡方分布函数。可选参数nc 为非中心参数。
PROBF(x ,ndf ,ddf < ,nc > ) :自由度为nd f ,dd f 的F 分布的分布函数。可选参数nc 为非中心参数。
PROBBNML(p ,n ,m) :设随机变量Y 服从二项分布B( n ,p) ,此函数计算P( Y ≤ m) 。
POISSON((lambda ,n) :参数为lambda 的Poisson 分布Y ≤ n 的概率。
3.分位数函数
分位数函数是概率分布函数的反函数。其自变量在0 到1 之间取值。分位数函数计算的是分布的左侧分位数。SAS 提供了六种常见连续型分布的分位数函数。
PROBIT(p) :标准正态分布左侧p 分位数。结果在- 5 到5 之间。
TINV(p ,df < ,nc > ) :自由度为d f 的t 分布的左侧p 分位数。可选参数nc 为非中心参数。
CINV(p ,df < ,nc > ) :自由度为d f 的卡方分布的左侧p 分位数。可选参数nc 为非中心参数。
FINV(p ,ndf ,ddf < ,nc > ) : F( nd f ,dd f)分布的左侧p 分位数。可选参数nc 为非中心参数。
GAMINV(p ,a) :参数为a 的伽马分布的左侧p 分位数。
BETAINV(p ,a ,b) :参数为( a ,b)的贝塔分布的左侧p 分位数。
4.样本统计函数
样本统计函数把输入的自变量作为一组样本,计算样本统计量。其调用格式为“函数名(自变量1 ,自变量2 ,… ,自变量n)”或者“函数名(OF 变量名列表)” 。比如SUM 是求和函数,如果要求x1 ,x2 ,x3 的和,可以用SUM(x1 ,x2 ,x3) ,也可以用SUM(OF x1 - x3) 。这些样本统计函数只对自变量中的非缺失值进行计算,比如求平均时把缺失值不计入内。
各样本统计函数如下。
MEAN :均值。
MAX :最大值。
MIN :最小值。
N :非缺失数据的个数。
田间试验数据的计算机分析 下载 mobi epub pdf txt 电子书 格式
田间试验数据的计算机分析 下载 mobi pdf epub txt 电子书 格式 2024
田间试验数据的计算机分析 下载 mobi epub pdf 电子书田间试验数据的计算机分析 mobi epub pdf txt 电子书 格式下载 2024