SAS编程技术数据步读入原始数据PPT.ppt

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

第5章 数据步读入原始数据;原始数据分类 ;读取数值数据的规则 数值前面的括号或者减号符号表示该数值为负。 首位有一个或者多个零不影响对相应变量的赋值。SAS不把数值尾部的空格默认为0。 数值数据的前后都可以有空格,但是数字中间不能有(除非用COMMA. 或BZ.格式读入)。 ;字符数据 ;原始数据呈现形式 ; INPUT语句的五种输入方式 ;列表方式: INPUT pointer-control variable $ @ | @@; INPUT pointer-control variable :||~ informat. @ | @@; 命名方式: INPUT pointer-control variable= $ @ | @@; INPUT variable= $ start-column -end-column .decimals @ | @@; INPUT pointer-control variable=informat. @ | @@; ;选项说明;列方式输入 ;例5.3 使用列方式输入数据。 data scores; infile datalines truncover; input name $ 1-10 sex $11 age 12-15 ; datalines; Justine F 12 Bob M 13 ; ----+----1----+----2----+----3----+- 例中,规定记录行的第1到10列为变量NAME的输入值,11列为变量SEX的输入值,12到15列为变量AGE的输入值。NAME和SEX为字符型变量。 ;列方式输入使用条件 原始数据输入值的位置在每个记录行相同的列中; 原始数据输入值是标准的数值格式或一般字符格式。 列方式输入的特点 原始数据输入值可以按任意顺序读取; 字符型原始数据中间可以有空格; 可以重复读取原始数据记录行的某一部分。 读入的数据值不需要用空格或者其它分隔符隔开。;列表方式输入 ;列表方式输入使用条件 输入数据值之间至少有一个空格隔开; 用小数点表示表示缺失值; 字符型值的默认长度为8个字节,也可以用LENGTH, ATTRIB, INFORMAT语句规定长度; 数据必须是字符数据或标准的数值数据。;列表方式输入格式修饰符 ;例5.5 空格为分隔符时,对变量值长度不一致的变量规定统一长度。 data; input Univ : $12. Plc$ Zip ; cards; MIT Boston 100023 TsinghuaUniv Beijing 100084 ; 例中,第一个观测变量Univ的值为MIT(只读3个字符,因遇到空格而结束)第二个观测值为TsinghuaUniv(得到先前定义的变量长度12)。如果只对变量Univ规定长度,而不加格式修饰符(:),在读入第一条记录时就会出错,如果不对变量Univ规定长度,读入第二条记录时就会只读入Tsinghua,而不是预先要读入的TsinghuaUniv,这是因为SAS默认的字符变量的存储长度就是8个字节。 ;Univ;’’ 字符型输入值可能包含一个或几个空格。因为空格是列表读入方式默认的分隔符,所以,如果要读入的数据值本身包括空格时就必须用此格式符。 例5.6 空格为分隔符时,字符型输入值嵌有空格。 data ; input name $12. age; cards; Jiang Zhu 20 Annie Zheng 31 I. Altman 60 ; run; 例中,第一个观测name 中Jiang Zhu (包含一个空格),第二个观测为Annie Zheng (包含一个空格)。分隔符为两个空格。 注意:因’’有以上特性,数据之间应该用两个以上的空格隔开。;’~’ 规定读入字符值时保留引号。此选项只在INFILE语句中与选项DSD一起使用时才有效。 注意:DSD选项在第六章会有详细介绍。这里先说明它的4个功能: 将默认分隔符改为逗号; 对于连续的两个分隔符,中间按缺失值处理; 将字符变量值的引号去掉; 对引号里的分隔符按字符来对待。 所以INFILE语句中的DSD选项自动把数据记录的分隔符设置为逗号,并且读入数据之前,把字符数据中的引号去掉,若加上’~’就会保留数据中的引号。;可以通过下面的这个例子来理解DSD和’~’的作用。 例5.7 DSD和’~’的作用,读入字符值时保留引号。’~’ 只在INFILE语句中与选项DSD一起使用时才有效。 data topics2; infile datalines dsd; input speakers : $15. title ~ $40. location $10.; datalin

文档评论(0)

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

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

1亿VIP精品文档

相关文档