问沙俄唯一的女皇是谁?
俄
-
【常华】张波
sas
一、sas系统简介
sas是一个庞大的系统,它目前的版本可以在多种操作系统中运行。当前在国内被广泛使用的最新版本是8.2版,功能很强大,我深有体会。据说9.0版已在国外面世,已经有一些有关它的抢先报道在网络上广为流传,说它如何如何美妙,令人不禁充满期待。sas8.2的完整版本包含以下数十个模块。base,graph,ets,fsp,af,or,iml,share,qc,stat,insight,analyst,ass**t,connect,cpe,lab,e**,warehouse,pc file formats,g**,spectr**iew,share*net,r/3,onlinetutor:sas programming,mddb server,it service v**ion client,intrnet compute services,enterpr**e reporter,mddb server common products,enterpr**e miner,appdev studio,integration technologies等。所谓模块,我的理解是将功能相近的程序、代码等集中起来组成相对独立的部分,就称之为模块,类似于办公软件系统office中包含的word、excel、access等。各模块具有相对独立的功能范围,我们常用的模块有base,graph,stat,insight,ass**t,analyst模块等,分别执行基本数据处理、绘图、统计分析、数据探索、可视化数据处理等功能。其余模块我用得很少,知道得也很少,所以也就不多说了。sas系统的长处,体现于它的编程操作功能的无比强大。sas一直以来也是注重于其编程语言的发展,对于可视化方式的菜单操作投入较少,其较早的版本仅有很少的菜单操作功能,使用起来也是非常的别扭。这很可能就是在windows人机交互式操作系统占统治地位的今天,sas较少被人问津的原因之一。到了最新的几个版本,sas也对可视化操作方法投入了一定的关注。从8.0版以后,出现了几个功能强大的可视化操作的模块,如insight模块和analyst模块等,其菜单操作的方便程度以及人机界面的亲和性绝不亚于spss等著名的可视化统计分析软件。然而要想完全发挥sas系统强大的功能,充分利用其提供的丰富资源,掌握sas的编程操作是必要的,也只有这样才能体现出sas在各个方面的杰出才能。二、sas系统基本操作及基本概念
哪位要是连软件的安装和打开都要我啰嗦的话,我劝您还是买一套洪恩的《开天辟地》好好热热身先。sas 8.2的界面中间是三个并排(或层叠)的窗口,那个叫做program editor的窗口(窗口标签为editor)就是用来输入sas语句的,编程操作的所有内容都是在该窗口内完成的,各位还是要跟它先多熟悉一下。(一)数据集(dataset)和库
统计学的操作都是针对数据的,sas中容纳数据的文件称为数据集,数据集又包含在不同的库(暂且理解为数据库吧)中。sas中的库分为永久性和临时性两种。顾名思义,存在于永久库中的数据集是永久存在的(只要你不去删除它),临时库中的数据集则在你退出sas后自动被删除。至于sas中库的概念,最简单的理解就是一个目录,一个存放数据集的目录。数据集的结构完全等同于我们一般所理解的数据表,由字段和记录所构成,在统计学中我们习惯将字段称为变量,在后面的内容中字段和变量我们就理解为同一种东西吧!建立数据集的方法很多,编程操作中有专门的数据读入方法来建立数据集,但需要将数据现场录入,费时费力。如果数据量大,我劝各位还是先以其它方法将数据集建好,否则程序语句的绝大部分会浪费在数据的输入上。what are 其它方法?各位是不是去参考一下别的书籍或资料。要不您是不是可以等一等,我准备若干年后出一本sas操作大全。(二)sas程序概述
和其它计算机语言一样,sas语言(称为scl语言,sas component language)也有其专有的词汇(即关键字)和语法。关键字、名字、特殊字符和运算符等按照语法规则排列组成sas语句,而执行完整功能的若干个sas语句就构成了sas程序。sas程序包括多个步骤和一些控制语句,一般情况下均包括数据步和过程步,一个或多个、数据步或过程步,它们之间任何形式的组合均可成为一段sas程序,只要能完成一个完整的功能。通常情况下sas程序还包括一些全程语句,用以控制贯穿整个sas程序的某些选项、变量或程序运行的环境。sas程序的语句一般以关键字开始,以一个分号结束,一条语句可占多行(sas每看到一个分号,就将其以前、上一个分号以后的所有东东当作一条语句来处理,而不管他们处在多少个不同的行中)。sas语句对字母的大小写不敏感,你可以根据个人习惯决定字母的大写或小写。1.库名(库标记)的定义
为了保存宝贵的数据和方便操作起见,我习惯于指定自己的库名及其路径(目录),因为sas系统中已有的永久库(sasuser)无论库名还是其对应的路径都太过繁琐,使用太不方便。程序中用到的数据,都可以永久的保存于该路径下,保证以后可以重复使用。指定库名的语句为全程语句,其格式如下:
libname 库名‘路径’;例如我们指定的库名为“a”,路径为:“e:\data\”,sas语句如下:
libname a‘e:\data\’;2.数据步
sas的数据步以data语句开始,用于创建和处理数据集。data语句以关键字“data”开始,格式如下:
data 数据集名;例如:data a.case;将创建在库a中名为case的sas数据集,语句执行后你可在与库a对应的目录下看到刚刚建立的数据集文件case。data语句所指定的数据集,一般都是以“库名.数据集名”的格式出现的,也可以单独的“数据集名”出现,此时的数据集系统默认为是临时库中的数据集,退出系统后将会被删除。data语句有两个重要的功能,标志数据步的开始和命名将要创建的sas数据集。除data语句外,数据步一般情况下还包括infile语句、input语句以及datalines语句等。在不同的数据输入方式下对于它们的使用方式也不一样。sas程序有两种常见的数据输入方式,即从外部文件读入和直接输入两种方式。(1)外部文件读入方式
数据若已经包含在某个外部文件(文本文件或数据文件)中,可用此方法输入数据到数据集文件中。在以上介绍的data语句后,写入以下语句:
infile‘外部文件的所在位置及名称’选项;input 变量名1变量名2…变量名n;infile语句用于从外部文件读入数据,必须出现在input语句之前。它的功能是指定一个包含原始数据的外部文件。input语句用于向系统表明如何读入每一条数据记录。它的主要功能有:读入由语句指定的数据列,为相应的数据域定义变量名,确定变量的读入模式。例如:
libname a‘e:\data\’;data a.student;infile‘e:\data\student.txt’;input name height weight;以上程序将目录“e:\data\”下的文本文件“student.txt”中的数据输入数据集student中,该数据集存放于目录“e:\data\”下。(2)直接输入方式
数据量较少或操作者意志力坚强的情况下采用此种输入方式,在data语句之后写入如下语句:
input变量名1变量名2…变量名n;datalines;(在以前的版本下为cards,新版本下两者可通用)
(数据行)
(数据行)
(数据行)
datalines语句用于直接输入数据,标志着数据块的开始。注意:这里的数据行中数据之间以空格分隔,当然也可以其它东东如逗号等来分隔,这里大家先以空格来分隔好了。因为不同的分隔方式下input语句要采取相应的控制选项,这些我们以后再讨论,这里我们还是省省力气吧。另外数据行输完后不能像其它语句那样直接在后面加上分号,而要另起一行输入分号,这样sas才认为这是在输入原始数据而不是在搞别的什么。例如:
libname a‘e:\data\’;data a.student;input name$height weight;(name后面的$符号表示变量name为字符型变量)
datalines;linda 171 51
mary 168 50
selinna 169 49
以上程序将直接建立数据集文件student,该数据集文件存放于目录“e:\data\”下。3.过程步
sas程序的过程步表示一个处理过程,如排序、t检验、方差分析等等。过程步以关键字proc开始,后面紧跟着过程名,用以区分不同的程序步,并以关键字run结束。一般的格式如下:
proc 过程名 选项列表;(其它语句);(其它语句);run;sas程序中涉及的过程多达数百种,实现统计功能时常用的过程也有数十种之多,现将最为常用的过程名称及其所能实现的功能列入下表(表1.1),以便各位提前热热身。表1.1 常用的过程名称及其功能
过程名
功 能
sort
将指定的数据集按指定变量排序
print
将数据集中的数据列表输出
tabulate
将数据按照指定的分类变量以表格的形式分类汇总
means
对指定的数值变量进行简单的统计描述
freq
对指定的分类变量进行简单的统计描述
ttest
对指定的变量做t检验
anova
对指定的变量做方差分析
npar1way
对指定的变量做非参数检验
reg
对指定的变量做回归分析
corr
对指定的变量做相关分析
d**crim
对指定的变量做判别分析
cluster
对指定的变量做聚类分析
chart
绘出低分辨率的统计图
4.几个常用的重要过程
在进入一般统计学功能实现的内容之前,有关数据预处理和执行重要公共功能的过程大家有必要预先掌握,这里选出几个常用的和重要的过程进行讨论。(1)对sas文件进行操作的datasets过程
datasets过程是对数据文件进行管理操作的工具,利用它我们可以实现以下功能:
将sas文件从一个库中拷入另一个库中;对sas文件进行重命名;修复损坏的sas文件;删除sas文件;列出某一sas库中所有的sas文件;列出一个sas数据集的属性,如最后修改时间、数据是否压缩、数据是否索引等;对sas文件进行设置密码的操作;向sas数据集添加记录;对sas数据集的属性以及数据集内变量的属性进行修改;创建或删除sas数据集的索引;创建并管理sas数据集的核查文件;创建或删除sas数据集的完整性规则。datasets过程的一般格式如下:
proc datasets<选项列表>;age 当前文件名 相关文件名列表选项列表>;append base=数据集名数据集名 其它选项>;audit 文件名<(操作密码)>;initiate;其它代码;change 旧文件名1=新文件名1<…旧文件名n=新文件名n><选项列表>;contents数据集名><其它选项>;copy out=库标记<其它选项>;exclude 文件名<其它选项>;(该语句只能在copy语句后出现,不能和select语句同时出现)
select 文件名<其它选项>;(该语句只能在copy语句后出现,不能和exclude语句同时出现)
delete 文件名<其它选项>;exchange文件名1=交换文件名1<…文件名n=交换文件名n><选项列表>;modify 文件名<选项列表>;语句之从属语句>;repai**件名<选项列表>;s**e文件名<选项列表>;run;是不是太繁琐了,我都有些不耐烦了。不过我还是得写,已经写了嘛!不忍心浪费掉,最起码可以用来充充数,扩大一下篇幅。至于各位,嫌烦的可以略过此部分,想用的时候再来温习也不迟。下面我就不厌其烦地向各位介绍一下各选项及各条语句的含义和用法。proc datasets语句后各选项的含义及用法见下表(表1.2)。表1.2 proc datasets语句后各选项的含义及用法
选项
含义及用法
alter=转换保护密码
sas文件设置有转换操作密码时用以验证操作的合法性,密码正确时代码才会被执行
details/nodetails
控制有关sas文件的详细信息显示与否,前者为显示,后者不显示,默认值为后者
force
此选项具有两个功能:(1)在过程步的语句存在错误时仍然强制程序的执行;(2)在append语句中,两个数据集的变量不完全相同时仍然强制append语句的执行。gennum=
控制对衍生数据集的处理方式,等号后可为all,h**t,revert或某一整数
kill
此选项表示删除待处理的库中的所有文件,应慎用
library=库标记
用以指定所要处理的库
memtype=成员类型
指定处理所针对的库成员类型(文件类型),默认值为all(所有类型)
nol**t
在日志文件中禁止对所处理文件目录的显示
nowarn
在语句中指定的文件不存在等情况下,禁止显示出错信息,强制程序继续执行
pw=操作密码
sas文件设置操作密码时验证操作的合法性(包括读、写保护以及转换保护的文件)
read=读保护密码
sas文件设置读保护密码时验证操作的合法性
age语句用于批量地重命名文件,按照当前文件和相关文件的排列顺序,依次将后一个文件名重命名给前一个文件,结果是最后一个文件被删除,当前文件名被废弃。对此语句我所了解的就这么多,而且还是通过试验得出的结论,但总感觉还是理解的不对,哪位若有高见还请不吝赐教。append语句执行向数据集添加记录的功能,选项“base=数据集名”用以指定要添加记录的数据集,“data=数据集名”则指定所要添加的记录所在的数据集,此选项若省略则默认为当前数据集(最近一次操作的数据集)。audit语句用于对文件的核查,生成核查文件并对其进行管理;change语句以新文件名替换旧文件名;contents语句用于显示指定数据集或当前数据集的各种属性;copy语句用于将当前库中相应的文件拷贝到指定的库中,选项“out=库...
-
问 魔兽世界戒指上的唯一和装备唯一是什么意思?
提问时间:2024-05-15 10:11:21
答 唯一是说这件物品你只能拥有一件,不管是装备在身上,还是放在包里,还是在拍卖行装备唯一是说这件物品你只能装备一件
-
问 s5沙皇攻略 s5沙皇怎么玩
提问时间:2024-05-15 15:33:25
答 沙皇这个英雄,很多人受影响,总想着一推五,qe推什么的,其实根没必要。沙皇这个英雄,本就属于持续输出的后期英雄,这样的英雄前期就是要稳,要练好补刀,安心发育,线...
-
问 曾经蒙古北边的林中部落,是如何被沙俄一步步征服的?
提问时间:2024-05-15 00:51:25
答 沙俄时代,虽然实力强大,可是一直是英国的防范对象,尤其是在东方的扩张,已经吃了日俄战争的亏了。对蒙古搞搞渗透、策动独立、边角上吃掉一点争议领土也就算了,如果直接...
-
问 封建保守的古代,皇帝是如何被传授性教育的?皇帝的第一个女人一般是谁?
提问时间:2024-05-15 03:30:06
答 **古代帝王的结婚年龄大多数从11岁到17岁不等,而这些帝王在大婚之前为了不失“皇家颜面”,早已经完成了从“男孩”到“男人”的经历,有着丰富熟练的经验。那么小皇...
-
问 **彼得沙皇为什么要将首都从莫斯科迁到圣彼得堡,为何**又再次迁回?
提问时间:2024-05-15 14:33:05
答 1682年即位的彼得一世是一位能干的君主.他认定,“**需要的是水域,没有出海口就不能生存”,决心要突破**被封闭在**一角的不利处境.1695年,彼得率军攻打...
-
问 拳皇中的八神庵的女朋友是谁?
提问时间:2024-05-15 13:37:07
答 八神庵在拳皇95的时候和谷间近卫成立乐队,期间和谷间菊理相遇。谷间菊理爱上了八神庵,觉得八神庵是个温柔的人,并且为八神庵写下了夕阳与月的歌词。孤独的八神庵八神庵...
-
问 **历史上唯一一位只有皇后而无任何嫔妃的皇帝是???
提问时间:2024-05-15 11:41:16
答 明孝宗朱佑樘。朱佑樘就是**历史上唯一一个用实际行动实践男女平等的皇帝。他一生只娶了一个张皇后,从不纳宫女,也不封贵妃、美人,每天只与皇后同起同居,过着平常百姓...
-
问 玩骑马与砍杀火与剑**主线怎么了结啊,已经把**的地盘都占了。就是找不到沙皇
提问时间:2024-05-15 14:33:01
答 你已经把沙俄的领土都打下来了,而且你应该也是击溃他们最后的大部队了吧,所以想要找到沙皇会比较困难,因为他们无法有什么大行动,大部分时间他们都在躲避敌国的部队;所...
-
问 武则天是怎样从一个尼姑变成后来**历史上唯一正统的女皇帝?
提问时间:2024-05-15 22:37:10
答 武则天能够执掌朝中大权这个历史课题有好多人、包括专家学者都作了各种探讨同解答,但好像都未点到真正的点上,其实武则天之所能够大权在握,根当时的**权力斗争需要有很...
-
问 哥萨克3沙皇最后一关怎么打 沙皇最后一关通关方法
提问时间:2024-05-15 06:06:04
答 哥萨克3沙皇最后一关通关方法这关不用攻城的,只要按照提示,把城市附近占领的建筑都烧毁即可过关。也就是占领建筑,按detele键删除。是不是非常简单?