PROC FORMAT过程
PROC FORMAT过程,用于自定义输入和输出格式
自定义格式必须写在date语句前面。
一、基本格式:
PROC FORMAT <options>;
<statements>;
RUN;
二、options:
LIBRARY=libref; 或 LIB=libref;
指定一个路径,用来永久存储自定格式。默认临时存储在Work.Formats中。
libname libref 'c:\sas\formats\lib';
proc format library=libref;... ;
run;
三、VALUE语句和INVALUE语句:
/*定义输入格式*/
invalue <$> 格式名 变量值或范围1=输入格式1 变量值或范围2=输入格式2……;
/*定义输出格式*/
value <$> 格式名 变量值或范围1=输出格式1 变量值或范围2=输出格式2……;
格式名:
- 长度不能超过32个字符
- 不能是现有的SAS格式(dollarw.d...)
- 不能以数字结束
关于$符号:
- 如果定义输入格式:
输入格式为字符时,需要在“格式名”前加$。 - 如果定义输出格式:
变量值或范围是字符时,需要在“格式名”前加$。 - 总结:输入时,看等号右边;输出时看等号左边。
proc format;invalue fage low-<40=30 40-<50=40 50-<60=50 60-high=60;data creat_format;input id age fage.;/*在变量age后加上自定义的输入格式fage,别忘了加点号*/cards;
1 36
2 43
3 51
4 60
5 59
;
proc print;
run;
proc format;invalue $ grade 1="Freshman" 2="Sophomore" 3="Junior" 4="Senior";value fscore low-<60="不及格" 60-<80="及格" 80-high="优秀";
data grade;input id grade :$grade20. score;/*在变量grade后加上自定义的输入格式grade,此时加的$以及20.都是对于输入格式等号右边的考量。*/format score fscore.;/*指定输出格式所必须的语句*/cards;
1 1 60
2 4 59
3 3 80
4 2 79
;
proc print;
run;
关于格式定义:
语句格式 |
解释 |
invalue $ gender 1="male" 2="female"; |
创建输入格式gender 当输入1和2时,自动变为male和female。 由于male和female是字符,所以gender前加$。 |
value $ grade "a" - "g"="fair" "o","u"="other" |
创建输出格式grade 当输入值介于a~g之间,输出为fair; o和u输出为other。 由于"a"~ "g"等为字符,因此grade前加$。 |
invalue grade "a"-"g"=1 other=2; |
创建输入格式grade 当输入值介于a~g之间,读取为1; 其他字母读取为2。 由于1、2为数值,因此grade前无须加$。 |
value age low-<40=30 40-<50=40 50-high =50; |
创建输出格式age 当输入值<40时,输出为30; 当输入值≥40且<50时,输出为40; 当>50时,输出为50。 由于low-<40、40-<50、50-high都是数值范围,因此age前无须加$。 |
value score low-59="不及格" other="及格"; |
创建输出格式score 当输入值≤59时,输出为“不及格”; 其余输出为“及格”; 由于low-59等为数值,因此score前不加$。 |
invalue lxfmt 1-4=_same_ 99=.; |
创建输入格式lxfmt 当输入值为1~4时,保持原有值不变; 当输入值为99时,变为“.” 由于1~4和“.”仍然是数值或者缺失值,因此lxfmt前不加$。 |
PROC FORMAT过程相关推荐
- ojbk的sas proc 过程之proc format
sas数据输出输入格式很多,但有时候变量的输入输出格式想根据自己的要求来,这时候用proc format就好了: 例子: 创建数据集名称为a: data a; input id$ sex height ...
- PROC UNIVARIATE过程
EDA(探索性数据分析)最常用的过程步之一就是PROC UNIVARIATE. 首先先看一个最简单的PROC UNIVARIATE程序: PROC UNIVARIATE DATA=SASHELP.FI ...
- 查找重复值和删除重复值,排序——PROC SORT 过程
基本格式: DATA = data-set 对哪个数据集进行排序 OUT = data-set 把排序后的数据输出到指定数据集中,此时原数据依然保留. ...
- SAS过程步常用语句
一.print过程 print过程可以打印一个SAS数据集中的全体或部分观测值,还可以打印数 值变量的综合或部分和. print过程中经常使用的语句有: proc print [选择项]; var 变 ...
- 描述性统计过程PROC MEANS 和PROC FREQ
目录 一.数值型描述性统计:PROC MEANS 1.基本格式: 2.options: 3.statistic-keywords: 3.语句 BY: CLASS VAR OUTPUT语句 二.字符 ...
- sas univariate 结果解释_SAS:SAS 常用过程之 统计描述过程proc univariate
from:http://blog.sina.com.cn/s/blog_5f049388010170ab.html FROM :http://blog.163.com/qiaozhanwen@126/ ...
- SAS:SAS 常用过程之 统计描述过程proc univariate
from:http://blog.sina.com.cn/s/blog_5f049388010170ab.html FROM :http://blog.163.com/qiaozhanwen@126/ ...
- SAS learning_4: 统计报表制作(1)——PROC TABULATE
一. PROC TABULATE 1.基本形式: PROC TABULATE;CLASS classification-variable-list;TABLE page-dimention, row- ...
- PROC REPORT基础
1 PROC REPORT语法 PROC REPORT data= SAS-data-set options ; COLUMNS variable_1 -. variable_n; DEFINE va ...
- Intel汇编语言程序设计学习-第五章 过程-下
5.3.3 库测试程序 测试程序#1:整数I/O 该测试程序把输出文本的颜色改为蓝底黄字,然后以十六进制数显示七个数组的内容,最后提示用户输入一个有符号整数,再分别以十进制.十六进制和二进制格式重复 ...
最新文章
- C 中 static 的常见作用
- 今天的雪糕格外好吃!
- 商城报表系统html5,关于html5:推荐这几款主流报表产品
- 鲲鹏服务器php性能,对鲲鹏服务器的内存进行性能优化后的前后数据对比
- 需求、需求工程与需求工程师 — 3. 需求工程的构成
- **python基础类和对象(十二)
- python numba 转灰度图_Python数据预处理:Dask和Numba并行化加速!
- linux安装ftp后账号密码设置,CentOS 建立ftp账号(vsftpd运用安装与配置疑问 )
- 华为机试HJ74:参数解析
- HDU1576 A/B【扩展欧几里得算法+试探法】
- 【海康威视】WPF客户端二次开发:【8】海康SDK Dll程序集集成优化
- 学习方法-北大学霸(01)学习方法基础
- 场景文字识别论文阅读
- 前一个标签自动增加,后面的标签自动减小,如微信的群发功能
- linux远程可视化
- 华为云空间費用_华为云空间怎么登录,有什么用?可惜99%的人都不知道
- linux中使用命令启动tomcat后显示tomcat started,实际却没启动的问题
- Fedora9安装与设置中文输入法scim
- Java NIO Socket编程实例
- Pytorch里面多任务Loss是加起来还是分别backward?