SAS的输入输出格式.ppt

上传人:sh****n 文档编号:6412111 上传时间:2020-02-25 格式:PPT 页数:30 大小:445.55KB
返回 下载 相关 举报
SAS的输入输出格式.ppt_第1页
第1页 / 共30页
SAS的输入输出格式.ppt_第2页
第2页 / 共30页
SAS的输入输出格式.ppt_第3页
第3页 / 共30页
点击查看更多>>
资源描述
SAS的输入输出格式 什么是格式 Format FormatisaninstructiontheSASSystemusestodisplayorwriteeachvalueofavariable 即 读入不同格式的数据 并按不同要求显示数据 常见数据的数据格式 字符型数值型日期时间型用户自定义型 用FORMAT过程定义 注 除自定义类型外 其他类型的数据SAS系统均已定义好了相应的格式 只需要调用即可输入格式和输出格式的使用 输入格式通常在input语句中使用 输出格式通常在format语句中使用 1 字符型输入 输出格式 1 输入格式 w 和 CHARw 共同特点 缺省值均为变量的长度不同点 w 必须指定w的值 不保留字符串前的空格 CHARw w的缺省值为8 保留字符串前的空格2 输出格式 w 和 CHARw 共同特点 保留字符串前的空格注 一个汉字占两个字节 例1 下面是一些人名 请将其读入到一个变量NAME中 注意 姓和名之间有一个空格 建立的SAS数据集如右边的形式 BillClintonGeorgeBushTonyBlairSaddamHusseinVladimirPutin 1 字符型输入 输出格式 dataa inputname char14 cards BillClintonGeorgeBushTonyBlairSaddamHusseinVladimirPutin procprint run Obsname1BillClinton2GeorgeBush3TonyBlair4SaddamHussein5VladimirPutin CHARw 读取包含空格的字符串如果将char14 去掉 语句改为 inputname 结果是什么样的呢 2 数值型输入 输出格式 1 输入格式 w dw d 读入宽度为w的原始数据 并存为SAS数值 也能自动读入以浮点方式表示的原始数据 遵循以下原则 2 数值型输入 输出格式 2 输出格式 Bestw d w d和Ew Bestw d 系统默认格式 相当于后两种格式的自动识别 w缺省值为12 最大值可达32w d 将数值用不超过d位小数及总宽度不超过w位的定点数表示Ew 用宽度不超过w的浮点数表示注 宽度设置不合适时 自动调用SAS系统同宽度的Best格式表示 1 特殊的输入格式COMMAw d 专为读入金额的数据而设置 读入宽度为w的字符串 并能自动去除逗号 空格 美圆符号和短横线 保留数字和小数点 还可将用括号括起来的数据记为负数 读入后按格式w d记入数值 DOLLARw d为其别名 2 数值型输入 输出格式 2 特殊的输出格式 COMMAw d和DOLLARw dCOMMAw d 将数值以包含小数位数不超过d位的定点数表示 并在整数部分自右往左每三位用逗号分隔 总字符数不超过w COMMA6 为其缺省设置 DOLLARw d在COMMA表示的数据左侧加上美圆符号 2 数值型输入 输出格式 dataa inputxcomma7 ycomma7 cards 12 00234 2312 21021 311run procprint run OUTPUT Obsxy112002342312221021311 例2 有如下两列数据 数据中包含有逗号 请建立一个SAS数据集 变量为x y 12 00234 2312 21021 311 dataa inputxcomma7 2yomma7 4 cards 12 00234 2312 21021 311run procprint run OUTPUT Obsxy1120 023 4231222 102 1311 例3 有如下两列数据 其中第一列后两位数字为小数 第二列后4位为小数 例如第一个数据12 002读入后应为120 02 请建立一个SAS数据集 变量为x y 12 00234 2312 21021 311 dataa inputxdollar8 ydollar8 cards 12 002 34 231 2 210 21 311run procprint run OUTPUT Obsxy112002342312221021311 例4 有如下两列数据 数据中包有 和逗号 请建立一个SAS数据集 变量为x y 例如 12 002读入后应为12002 12 002 34 231 2 210 21 311 dataa inputxdollar8 2ydollar8 4 cards 12 002 34 231 2 210 21 311run procprint run OUTPUT Obsxy1120 023 4231222 102 1311 例5 有如下两列数据 其中第一列后两位数字为小数 第二列后4位为小数 例如第一个数据 12 002读入后应为120 02 请建立一个SAS数据集 变量为x y 12 002 34 231 2 210 21 311 日期 时间 日期时间型的数据均以与0值的差值数据存入计算机 零点值的规定日期型 0值 1960 1 1 其他日期为与其的差值时间型 0值 0时0分0秒 日期时间型0值 1960年1月1日0时0分0秒 3 日期时间型输入 输出格式 1 日期输入格式 YYMMDDw 读入的数据形式为 yymmdd yyyymmddW 6 32 缺省为6其他格式 MMDDYYw 和DDMMYYw MMDDYYw 读入的数据形式为 mmddyy mmddyyyyDDMMYYw 读入的数据形式为 ddmmyy ddmmyyyy 3 日期时间型输入 输出格式 2 日期输出格式 YYMMDDxw 读入的数据形式为 yymmdd yyyymmddW 2 10 x为N时 2 8 缺省为8xBCDNPS分隔符空格 无 YYMMDDw 相当于YYMMDDDw 其他格式 MMDDYYxw 和DDMMYYxw 3 日期时间型输入 输出格式 3 特殊日期输入 输出格式 DATEw 输入 输出日期的格式为 ddmmmyy ddmmmyyyy缺省方式为DATE7 3 日期时间型输入 输出格式 3 特殊日期输入 输出格式 DATEw 输入 输出日期的格式为 ddmmmyy ddmmmyyyy缺省方式为DATE7 3 日期时间型输入 输出格式 4 时间输入格式 TIMEw 读入的时间形式为 hh mm ss ss时分秒间的分隔符有 空格 还有PM AM例 14035 37PM读入格式time14 49235 37输出格式timeampm13 21 40 35 37PM5 时间输出格式 TIMEw dd 可指明秒数包含的小数位数 输出时总带有分隔符 宽度不够时 先显示小时数 再是分钟 再是秒数 3 日期时间型输入 输出格式 6 日期时间输入格式 DATETIMEw 读入的日期时间形式为 ddmmmyyhh mm ss ss ddmmmyyyyhh mm ss ssW 13 40 缺省187 日期时间输出格式 DATETIMEw d输出格式形式 ddmmmyy hh mm ss ss ddmmmyyyy hh mm ss ssW 7 40 缺省16宽度不够时 从秒数开始截尾 宽度足够时 w 19 d 时自动显示四位数的年份 3 日期时间型输入 输出格式 YEARCUTOFF 1920 此值可修改 管理100年的时间 1920 2019例 12 07 41表示12 07 194118Dec15表示18Dec2015 3 两位数年份输入 datab inputdddate15 formatdddate9 cards 1Jan200203Jan200315 May 200412 FEB 200517 May 20061 OCT 200730 sep 2008 procprint run 1Jan200203Jan200315 May 200412 FEB 200517 May 20061 OCT 200730 sep 2008 01312002031220035132004421200552520061 2 20073 24 2008 datab inputddmmddyy10 formatddmmddyy10 cards 01312002031220035132004421200552520061 2 20073 24 2008 procprint run 4 自定义格式 使用PROCFORMAT过程进行格式的自定义 PROCFORMAT INVALUE格式名格式 VALUE格式名格式 RUN INVALUE 定义输入格式VALUE 定义输出格式 下面只介绍定义输出格式 自定义格式比较特别 语法 PROCFORMAT VALUE自定义输出格式名字定义的格式 RUN 自定义输出格式名字 应符合SAS的命名要求 注意最后一个字符不能是数字 定义的格式 原始值 格式化的输出值 4 自定义格式 例6 下面是 问卷调查 资料的部份数据 变量sex的赋值是 1 Male 2 Female 变量Band46的赋值是 A 增加 B 不变 C 减弱 请建立一个SAS数据集EX 对变量sex Band46进行格式化 dataqespart inputid sexheightweightband46 cards cnw1r01215449Ccnw1r02116964Bcnw1r04116967Acnw1r05215350Bcnw1r06216050Acnw2r02215646Acnw2r03117362Bcnw2r04116857Bcnw2r05215545Brun procprint run PROCFORMAT VALUEsexfmt1 Male 2 Female VALUE bandfmt A 增加 B 不变 C 减弱 RUN 首先建立相应的输出格式 上面建立了两种类型的输出格式 一种是数值型的 即sexfmt 要求 号左边为数值型数值或区间 如上面的1 2为数值 另一种是字符型的 即 bandfmt 表明该格式是字符型 要求 号左边为字符或字符区间 如 A B C DATAqesfmt SETqespart FORMATSexsexfmt Band46 bandfmt RUN PROCPrint RUN PROCFORMAT VALUEhgtfmtLOW 180 RUN 利用格式对连续型变量的离散化分组 频数表编制 例7 对 问卷调查 资料中的身高编制频数表 组距取5CM 小于150为第一组 150 155为第二组 Dataex Setqespart Formatheighthgtfmt labelheight 身高 Run Procprintlabel Run Procfreq Tablesheight Run 打印数据集的内容 部份 用FREQ过程生成的频数表
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!