SAS编程基础(8)

2020-04-03 11:35

3.6.2输出观测问题的方法

3.6.3自动变量_IORC_

3.7 PUT语句

将信息输出到: SAS的日志窗口

FILE规定的外部文件

3.7.1语法说明

语法格式

简单方式

PUT <_ODS_><@|@@>; 列方式

PUT variable 开始列<终止列> <小数位><@|@@>; 列表方式

PUT <指针控制> variable<@|@@>;

PUT <指针控制> ‘字符串’<@|@@>;/* n*--表示字符串可重复n次*/ PUT <指针控制> variable <:|~> 格式<@|@@>; 格式化方式

PUT <指针控制> 变量格式<@|@@>;

PUT <指针控制> (变量列表)(格式列)<@|@@>; 命名方式

PUT <指针控制> variable =格式<@|@@>;

PUT variable=开始列<-终止列><小数位><@|@@>;

指针控制 指针控制 相对位置 绝对位置 列指针控制 +n @n +(expression) @(express) + numeric-variable @ numeric-variable 行指针控制 / #n _PAGE_ #numeric-variable _BLANKPAGE_ OVERPRINT 行固定说明符 @ @@ 3.7.2例子

data a;

input x $ y z @@; cards;

a 10 20 b 30 40 c 50 60 ; run;

data _null_; set a; put x$ @; put y @; put z; run;

data _null_; set a;

put @10 x$ @; put @15 y @; put @20 z; run;

data _null_; set a;

put x$ 10-14 @; put y 15-19 @; put z 20-24; run;

data _null_; set a;

put x$ 10-14 @; put y 15-20 .3 @; put z 25-30 .2; run;

data _null_; set a;

put x$ : @;/*:号表示去掉输出值前后的空格*/ put y : 4.3 @; put z : 7.4 @;

put 3*'here is char'; run;

data _null_; set a;

put x$ 5-10 @;

put @15 (y z) (4.3 \ 2.);/*注意格式与变量间的对应关系*/ run;

data _null_; set a;

put x$ 5-10 @; put @15 y 4.3 @; put \ @; put z 2.; run;

data _null_; set a; put x= @;

put @15 y=4.3 @; put @25 z=2.; run;

多种格式的混合使用:

data mix;

input x $ y z m n p q; cards;

x 10 20 30 40 50 60 y 70 80 90 100 110 120 ;

data _null_; set mix; put @2 x$ @; put y 5-10 .2@; put @15 z:5.3 @;

put (m n p)(best10. \ 4.2 \ 4.2) @; put @60 q=; run;

data _null_; set mix; put @2 x$ @; put +3 y 5-10 .2@; put +5 z:5.3 @;

put +5 (m n p)(best10. \ 4.2 \ 4.2) @; put +10 q=; run;

一个综合例子

libname ch3 'f:\\data_model\\book_data\\chapt3'; ods listing close;

ods output parameterestimates=et ;

proc reg data=ch3.fitness outest=est;

model oxygen=age weight runtime runpulse restpulse maxpulse ; quit;

ods output close; ods listing;

filename fb \;

data _null_;

set et(keep=variable estimate ) end=last; file fb notitles;

if _n_=1 then put @1 \; est=abs(estimate);

if estimate<0 then put @1 '-' @; else put @1 '+' @;

if variable ='intercept' then put @5 est 10.5;

else put @5 '(' est best10. @20 '* sum(' variable $20. ',0)) '; if last then put @5 ';'; run;

3.8 FILE语句

与PUT语句配合使用(可以同是使用多个PUT语句),将数据输出到相应的输出设备(文件,LOG窗, OUTPUT窗)

3.8.1语法说明

FILE file-specification Fiel-specification可以是:

外部文件名 如:”e:\\exam.txt”;

文件标识(用filename语句定义): 如:filename ex1 “e:\\abc.txt”; LOG 如:file Log; Print(规定输出到OUTPUT窗) 如:file print;

Options说明 选项 说明 备注 DELIMITER/DLM=分隔符 指定分隔符,默认为空格 DLM=’,’; DROPOVER 当行长超过指定值,忽略超出部分 行长指定LINESIZE=n FLOWOVER 超过行长部分在下一行输出(默认) STOPOVER 超过行长时终止DATA步 DSD 规定数据项的分隔符,要用引号给出 默认分隔符为逗号 ENCODING=’value’ 指定输出外部文件所用编码 FILENAME=variable FILEVAR=variable LINESIZE/LS=n 系统使用的行长 LRECL=value 规定输出文件的逻辑记录长度 文件实际行长 MOD 输出到文件存在的行后面 OLD 替换文件原有内容 PAD/NOPAD 输出文件的数据行是否把空格算在NOPAD—变长度文件缺省方式 LRECL=指定的长度中 PAD—固定长度文件缺省方式 3.8.2例子

filename file ' E:\\dcai2007_lecture\\lecuture\\2011\\temp\%utf.txt'; data _null_; set sashelp.class;

file file encoding='utf-8'; put name weight; run;

filename=

/*该程序实行两个文件的输出:数据集a和文本文件filename.txt*/

filename files 'E:\\dcai2007_lecture\\lecuture\\2011\\temp\\filename.txt'; data a;


SAS编程基础(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《物理化学》高等教育出版(第五版)第十一章电 极 极 化

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: