田间统计实验:SAS统计分析软件应用_第1页
田间统计实验:SAS统计分析软件应用_第2页
田间统计实验:SAS统计分析软件应用_第3页
田间统计实验:SAS统计分析软件应用_第4页
田间统计实验:SAS统计分析软件应用_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SAS统计分析软件应用第一节SAS软件概述及其在描述统计中应用第二节平均数差异显著性检验第三节方差分析第四节回归与相关分析SAS概述SAS语言基础SAS数据步SAS过程步SAS在描述统计中应用第一节SAS软件概述及其在描述统计中应用SAS(StatisticalAnalysisSystem),中文名“赛仕”,译为“统计分析系统”SAS是美国使用最为广泛的三大著名统计分析软件SASSPSS和SYSTAT)之一。一、概述国际上的公认的标准统计软件之一。公司卓著的业绩使之被评为“全美国人最乐意为之工作的100家公司”之一及"最佳决策支持工具的供应商"。发展1966年美国北卡州立大学A.J.Barr1972年推出SAS72供大学使用版1976年成立SAS研究所(SASInstituteInc.),总部在美国北卡州凯瑞市

现已是全球最大的私人软件公司和全球排名第九位的独立软件商系统组成:

三十几个模块,如BASE,GRAPH,ETS,FSP,AF,OR,IML,SHARE,QC,STAT,INSIGHT,ANALYST,ASSIST,CONNECT,CPE,LAB,EIS,WAREHOUSE,PCFileFormats,GIS,SPECTRAVIEW,SHARE*NET,R/3,OnlineTutor:SASProgramming,MDDBServer,ITServiceVisionClient,IntrNetComputeServices,EnterpriseReporter,MDDBServercommonproducts,EnterpriseMiner,AppDevStudio,IntegrationTechnologies等StatisticalAnalysisSystem(SAS)作为统计软件的SAS专业的统计处理程序(Proc…)强大的数据概览功能:图形界面统计,制作图、表作为关系数据库平台的SASStructuredQueryLanguage(ProcSQL)数据库操作配置绝大多数流行数据库平台引擎(engine)强大的输入输出格式编程(input/put)作为另类编程语言的SAS(Data)数据步编程;ProcIML矩阵编程;%Macro宏编程(对Data/Proc代码的再编程)谁需要学SAS期望到产业界(比如药品与食品产业)的应用统计部门就业。竞争北美外企或者政府部门需要分析数据、汇报图表的职位大规模数据库上的统计工作、数据挖掘工作统计研究中高强度的模拟运算谁不需要SAS要处理的数据样本量小于3000,变量个数小于50。(Excel,OpenOffice的Calc)通过图形界面作常见的统计检验

(Excel,Eview,SPSS)研究统计算法的实现,希望自己可以修改程序中的代码(R/Splus)SASforWindow的启动、主画面开机启动Windows后,单击:开始⇒程序⇒TheSASsystem⇒TheSASsystemforWindowsV9,自动显示SASV9主画面。界面:三个基本窗口Editor编辑窗:在此编写SAS程序Log记录窗:记录程序运行过程中所做的内容,如所运行的数据情况、所调用的过程步、程序运行时间等(红色---错误绿色---警告兰色---正常)Output结果输出窗:统计分析的结果。Result窗口,Explorer窗口其他:keys窗、libname窗、options窗、var窗、dir窗

(在command命令窗

或命令行command===>输入相应的命令可激活这些窗口)SAS会话窗口程序编辑窗口运行记录窗口结果输出窗口命令窗口Results窗口在命令窗口输入“keys”后情况命令行命令窗(条)SAS9.01中文界面的几个窗口SAS文件的扩展名*.sd2SAS数据集(6.12版)(必须以字母开头,长度不超过8位);8.0以上版为*.sas7bdat;*.sas

SAS程序文件

*.loglog窗口输出

*.lstSAS结果文件

SAS语句以一个关键词开始,以分号(;)结束;

dataa;

inputx;

cards;

323544565;proc

print;

run;SAS程序的基本结构数据步:创建数据过程步:调用数据分析过程或Lines或Datalines运行编辑窗内程序点击图标按功能键“F8”在命令行(窗)键入“submit”在Run下拉菜单中选“submit”所激活窗口(Editor、Log、Output)内容的保存在命令行(窗)键入file“路径\文件名”点击图标在file下拉菜单中选“save”或“saveas”只有编辑窗口(edit窗)才能打开文件常用的快捷键F4recall命令,用于editor窗,将前面提交的程序调回,可多次使用F5切换到editor窗;F6切换到log窗;F7切换到output窗F8submit命令Ctrl-E清除当前窗口的内容。editor窗被清除的内容不能用F4调回二、SAS语言基础dataa;inputx;cards;435465;proc

print;run;以关键词开始SAS语句;对于8.0以上SAS软件,这些关键词显示为蓝色;如果显示为红色,则可能的关键词无效或拼写错误data;inputx;cards;435465;proc

print;run;1.所有SAS语句必须以“;”结束dataa;inputx;cards;435465;proc

print;run;初学者最容易犯的错误就是不写分号。此时SAS将两个语句误认成一个语句(statement)。注意:(1)一个SAS语句可以写成两行或多行,如“dataa;”可写成data

a;(2)多个SAS语句可以写成简单的一行。如:“proc

print;run;”2.程序的结束dataa;inputx;cards;435465;proc

print;run;3.数据集名与变量名dataa;inputx;cards;435465;proc

print;run;数据集名称变量名称数据集名与变量名取名时可以是字母、下划线、数字,不能以数字开头,最多可以32个字符(SAS8.0以下软件的最大字符数为8个字符)字母可以大写、小写或大小写混合,因此Weight、weight、WEIgHT被SAS视为相同的变量。4.变量的排列dataa;inputx;cards;435465;proc

print;run;如果有多个变量,如Height、Weight、Age、Sex,Job则在SAS中排列为“input

HeightWeightAgeSexJob;”

如果将以上变量用代号x1、x2、x3、x4、x5表示,则语句可写为:“input

x1x2x3x4x5;”或简写为:“input

x1-x5;”5.输入数据的标识语句dataa;inputx;cards;435465;proc

print;run;cards;或datalines;或lines;语句之后表示数据的输入即将开始。数据的变量名、变量的格式等在input语句中定义。数据输入结束,也必须采用分号结束。三、数据步dataa;inputx;cards;435465;proc

print;run;数据分析前,数据集必须被读入。读入数据方法:

1.直接创建;

2.Infile

和input语句创建;

3.对1.、2.数据进行简单编辑,创建新的变量等。1.直接创建数据集datachild;/*建立临时数据集child.sd2,自动放在saswork子目录下*/inputidx1$x2x3x4x5x6;/*指明要输入的变量,$为字符型变量*/cards;/*标志数据区开始,数据之间以一个或几个空格分隔*/1m3295.514.053.549.642m3592.013.052.041.613m3389.012.553.535.81254m176168.053.582.0100.14255f3091.011.048.035.39256f3391.011.547.044.98521f178163.051.079.087.42;/*标志数据区结束,分号必须单独一行*/

run;SAS中的常用变量类型数值型:不需特殊定义字符型:定义方式变量名$日期型:多种形式如:变量名mmddyy6.

实际记录为距1960/01/01的天数输入格式可以是:09100409/10/04091004909102004其它数据库中的逻辑型、备注型变量在SAS中均为字符型变量。日期型变量转进SAS后一般也变为字符型变量。dataa1;inputidx1$x2x3x4;cards;1m3295.52m3592.013.03m3389.012.5;proc

print;run;结果:

Obsidx1x2x3x411m3295.52.023m3389.012.5dataa1;inputidx1$x2x3;cards;1m3295.52m3592.013.03m3389.012.5;proc

print;run;结果:

Obsidx1x2x311m3295.522m3592.033m3389.0SAS数据集创建时存在的问题

data

esr;

inputx@@;/*每读入一个记录后,数据指针保持原位不换行,

继续读下一条记录*/

cards;

3

9

8

6

5

5

7

3

10

8

10

4;

proc

means;

run;

结果:

NMeanStdDevMinimumMaximum------------------------------------------------------------------26.50000002.54057973.000000010.0000000------------------------------------------------------------------

不分行符@@的使用

datachild;

inputidx1$x2x3x4x5x6;

cards;1m3295.514.053.549.642m35.13.052.041.613m3389.012.553.535.81254m176168.053.582.0100.14255f3091.011.048.035.39256f3391.011.547.044.98521f178163.051.079.087.42;proc

means;run;缺失值的输入---以“.”表示,缺失值不进入分析

VariableNMeanStdDevMinimumMaximum-----------------------------------------------------------------------------id7184.5714286194.96397711.0000000521.0000000x2773.857142970.477960130.0000000178.0000000x36116.250000038.241012089.0000000168.0000000x4723.785714319.482593011.000000053.5000000x5759.285714314.736171947.000000082.0000000x6756.427142926.254044635.3900000100.1400000-----------------------------------------------------------------------------如已存在一纯文本文件c:\child.txt,内容如下:

1m3295.514.053.549.642m3592.013.052.041.613m3389.012.553.535.81254m176168.053.582.0100.14255f3091.011.048.035.39256f3391.011.547.044.98521f178163.051.079.087.42可用infile

直接读入:

Datachild;

Infile

"c:/child.txt";

Inputidx1$x2x3x4x5x6;proc

print;Run;2.Infile

和input语句创建数据如从现有SAS文件“child”中读取数据,变成文件名为“school”的文件。dataschool;setchild;x=x3-x2;proc

print;Run;3.从现有SAS数据集中读取数据前面所产生的文件都是临时文件,退出SAS后,这些文件将自动删除。为了将文件变成永久性数据集存储在磁盘上,可采用libname语句。

libname

ych

"f:/sasdata";data

ych.student;set

school;run;4.在磁盘上存储SAS数据集用ych代表子目录“f:/sasdata”,可任意取名,但应与打算建立的文件名前的前缀相同SAS数据集名称的表示方式:库关联名.数据集名永久数据集格式:libname

库关联名“盘符:\路径”;

如:libname

ych‘f:\SASdata’;ych

为库关联名,代表路径f:\SASdata

;库关联名可任意取,一旦定义,只要不退出SAS,始终有效(因为libname命令为全局命令)。但路径必须实际存在。临时数据集:每次启动SAS时,会自动开辟一个临时存储区,其库关联名为WORK,代表\sas\saswork子目录。一旦退出sas,临时存储区数据集文件自动删除,称为临时数据集临时数据集的库关联名默认为work,均省略不写。如datachild;(实际为work.child)永久数据集和临时数据集利用file下拉菜单中的import功能,可转入:文本型数据:空格分隔、逗号分隔、制表键分隔Dbase数据库(*.dbf)Excel数据库有的数据可通过粘贴的方法贴到Editor窗,然后采用input和cards等语句,直接生成sas数据集。5.从其他数据集转入变量赋值:变量名=表达式;如x5=x4*0.5;x=x3-x2;team=‘green’;加减乘除、乘方运算符:+-*/、**缺失值赋值举例:

age=.;字符型变量:team=‘’;

if<条件表达式>then<表达式>;

else<表达式>;如ifsex=1thent=f1+f2+f3;

子集化:用keep或drop语句整理变量名表

keep<变量名表>;

drop<变量名表>;6.修改SAS数据datab1;setchild;ifid<200

thengroup=1;

elsegroup=2;renameid=x0;keepidx1x2group;proc

print;run;注:keepidx1x2group等价于

dropx3-x6;OBSX0X1X2GROUP11m32122m35133m3314254m17625255f3026256f3327521f1782SAS数据集的整理举例数据子集化

记录输出

if<表达式>thenoutput数据集;记录删除if<表达式>thendelete;datab1;setchild;ifx1='m'

then

output;keepx1x5;proc

print;run;

Obsx1x51m53.52m52.03m53.54m82.0SAS数据集的整理---记录操作SAS数据集整理---记录操作dataa;inputidx1x2@@;cards;111122212244142441142255152;datab;inputidx3@@;cards;1133334435535533;run;datac;setab;proc

print;run;

OBSIDX1X2X3111112.222122.344142.44411422.555152.61..1373..3384..4395..53105..533

纵向合并:set<数据集A><数据集B>…;SAS数据集整理---记录操作datac;

mergeab;

byid;

proc

print;

run;OBSIDX1X2X311111213222122.33..3344414243544114224365515253755152533

datac;

mergeab;proc

print;

run;OBSIDX1X2X31111121323212233344142434541142253555152533

横向合并:merge<数据集A><数据集B>…;SAS数据集整理---记录操作排序procsort;by<变量名表>;横向合并:一般要先按识别字段排序merge<数据集>;by识别字段;四、过程步过程步(procedurestep)是以关键字PROC开始的一个或多个SAS语句。过程步的结构一般为:PROC过程名过程选择项

;

语句/语句选择项

;

语句语句选择项

…;

语句;Run;

常用SAS过程步UNIVARIATE、MEANS(定量资料的描述、配对t检验,一个样本对应总体与一个已知总体的比较t检验)TTEST(两样本对于的总体均数的比较)FREQ(卡方检验,Fisher精确检验)GLM、ANOVA(方差分析)NPAR1WAY

(非参数检验)CORR(相关)REG(简单与多重回归)CHART、GPLOT(绘图)SORT(排序)PRINT(按要求输出结果)五、SAS在描述统计中应用MEANS过程SUMMARY过程UNIVARIATE过程次数分布表和次数分布图默认情况下,Means过程会给出频数、均数、标准差、最大值和最小值等,其余统计量的计算均需要在选项中指定。MEANS过程1.N13.STDERR2.NMISS14.T3.MEAN15.PRT4.STD16.SUMWGT5.MIN17.SKEWNESS6.MAX18.KURTOSIS7.RANGE8.SUM9.VAR10.USS11.CSS12.CVPROCMEANS[选择项]例1以教材P38,表3.4数据为例。OPTIONNODATEPS=60;DATAtb34;INPUTy@@;CARDS;17721519797123159

194227141169124159;PROCMEANSDATA=tb34NMINMAXSTDRANGEMEANCVSUMVARSTDERRNMISSMAXDEC=4VARDEF=DF;RUN;datab38;inputxy@@;cards;13 1614161517171818

18

18

181918211922202320;procprint;procmeansNNMISSMEANSTDMINMAXRANGESUMvarUSSCSSCVSKEWNESSKURTOSISMAXDEC=4FW=8VARDEF=df;

varxy;run;例2以教材P39,表3.6为例。DATAtb36;INPUTyf@@;CARDS;75290710571201313517150201652518021195132109225324022551;proc

print;PROC

MEANSNMEANVARSTDCV;VARy;WEIGHTf;RUN;例3DATAtb34;INPUTy@@;CARDS;17721519797123159

194227141169124159;PROCSUMMARYPRINT;VARy;RUN;2.SUMMARY过程例4以P37表3.1数据为例。DATAtb31;INPUTy@@;CARDS;1815171916

181717161917;PROCUNIVARIATEFREQPLOTNORMAL;RUN;UNIVARIATE过程DATAtb31;INPUTy@@;CARDS;18 15 17…. 20 18 19 1717 17;PROCfreq;procgchart;vbary/midpoints=15to20by1;RUN;次数分布表和次数分布图

/*LT3*/OPTIONPS=30LS=100;DATAA;INPUTYIELD@@;YIELD=INT((YIELD-67.5)/13)*13+67.5;CARDS;1772151979712315924511911913114915216710416121412517521911819217617595136199116165214951588313780138151187126196134206137989712914317917415919413610810114114816816317610215814517375130149150161155111205131189

定义输出格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论