网站大量收购独家精品文档,联系QQ:2885784924

SAS应用基础3 SAS的数据相关管理.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAS应用基础3 SAS的数据相关管理.ppt

SAS软件应用基础之三 SAS的数据管理 数据管理 一旦将数据导入SAS 系统后,用户可以根据自己地需求方便地管理这些数据。 在SAS 系统中可以使用SQL 语言对数据库进行查询、创建、升级等操作;也可用SAS 提供查询窗口,通过单击鼠标完成对数据的查询。 另外,根据统计分析的需要,可以对已有的数据集进行各种加工、变换,生成所需的新数据等工作,这在SAS中也是很方便的。 数据的复制及修改 除了在操作系统或SAS资源窗等操作外,还可在Data Step中用SET语句复制已有数据集并修改。 一般形式: DATA 新数据集名; set 旧数据集名; 其他语句; RUN; 当新、旧数据集名相同时,则效果为修改原数据集;若新、旧数据集名不同,除set语句外无其它语句,即相当于复制了旧数据集。 SET语句将指定数据集中的变量自动被读入PDV(除非用DROP=和KEEP=选项可以控制哪些变量被写入PDV)。 应用示例 下面程序从class数据集中复制了男生的部分数据: data man (drop=sex age); set sashelp.class; if upcase(trim(sex))=M; run; 注:这里trim函数将删除sex字段尾部空格,确保其为一个字符;upcase函数确保sex字段为大写字符。(drop=sex age)为一组数据集选项。 数据集选项 在data等语句里,指定数据集时,数据集名后可跟多个数据集的选项,但所有数据集选项必须在一个圆括号内,用空格分隔。常用的数据集选项有: DROP=变量表 将指定的变量不作为所建数据集的变量; KEEP=变量表 只将指定的变量作为所建数据集的变量;(注意:DROP和KEEP不能同时使用。) RENAME=(旧变量名1=新变量名1…) 在用旧数据集产生新数据集时,该选项可改换变量名; TYPE=类型 指定建立特殊类型的数据集。常用类型有:CORR (相关矩阵)、COV (协方差矩阵)、DISTANCE (距离矩阵)等。 示例 data tmp; input a b@@; cards; 9 8 5 4 11 2 15 8 9 7 12 3 run; data temp1; set tmp; if a10; b=b-1; put _n_ a b; run; data temp2; set tmp; where a10; b=b-1; put _n_ a b; run; data temp3; set tmp(where=(a10)); b=b-1; put _n_ a b; run; data temp4; set tmp(firstobs=2 obs=4); b=b-1; put _n_ a b; run; data tmp0(where=(a10)); input a b@@; cards; 9 8 5 4 11 2 15 8 9 7 12 3 run; 数据集的纵向合并 用SET语句可以拼接SAS数据集: DATA 新数据集; SET 输入数据集1 输入数据集2 …; RUN; 如果不使用DROP=和KEEP=选项,在PDV和新的数据集中将包含所有旧数据集的变量。 应用示例(顺序连接) data tmp1; input a b@@; cards; 1 1 2 3 3 5 4 7 5 9 data tmp2; input a c@@; cards; 1 2 2 4 3 6 4 8 5 10 data tmp; set tmp1 tmp2; proc print data=tmp; run; 说明: 本例将tmp1、tmp2依次相连,形成有a、b、c三变量的tmp数据集。 假设上例中tmp1的变量b与tmp2中变量c实际是同一变量(意义相同),则要把它们拼接在一起,可如下处理: set tmp1 tmp2(rename=(c=b)); 或 set tmp1(rename=(b=job)) tmp2 (rename=(c=job)); 示例(交叉连接) data tmp; set tmp1 tmp2; by a; /* tmp1、tmp2必须已经对变量a排好序*/ proc print data=tmp; run; 说明: 本例中,tmp1、tmp2的各观测按变量a的值的大小顺序依次拼接。 在拼接数据集时使用BY语句可以使生成的数据集按照某个变量排序,但输入数据集必须预先按该变量排序。 要对数据集的观测排序,可用SORT过程来实现。 SORT排序过程 除了在SAS的INSIGHT和Analyst模块中可方便的进行对观测排序外,用SORT过程来编程实现是最常见的。 用PROC SORT语句可进行排序,一般形式为: PROC SORT

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档