SAS中自定义格式可通过 proc format 过程来实现,它的基本形式为:
“哪燃自变量或范围”既可以是某个变量值,也可以是某个范围,举例说明:
举例说明:
在上例中,虽然自定义的输入变量grade本身值1~4都只有1位宽度,但上述程序指定的输丛笑入格式,也就是SAS真正读取的是Freshman、Sophomore、Junior、Senior,它们并不是1位,所以需要用冒号加宽度20的方式读取。
proc format是一个过程,在这个过程中,可以自定义想要的格式;而format只是语句,将变量与某种输出格式关联起来,让变量按这种格式输出,这种输出格式既可以是SAS自带的,也可以是proc format自定义的。
format语句定义的输出格式渗缓含,定义的对象是值,而picture则是定义一种显示的样式。举例说明:
/*将一个数据集中的每一个拍轮观测单独生成一个txt文件*//*dataset:逻辑库名.数据集名,例如work.a ,outpath:输出路径,例袭耐信如C:\Users\Administrator\Desktop,不要加引号 */
%macro export(dataset,outpath)
/*获取观测总数*/
data _null_
set &dataset nobs=nobs
call symputx('nobs',nobs)
run
/*拆分*/
%do i=1 %to &nobs
data &dataset&i
set &dataset
if _n_=&i
run
%put &dataset.&i
/*生成txt文件*/
proc export data=&dataset&i outfile="&outpath.\obs_&i..txt" dbms=TAB REPLACE
run
/*删除产生的子数据集*/亩御
proc delete data=&dataset&irun
%end
%mend export
%export(dataset,outpath)
回答于 2017-04-21
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)