SAS中文论坛

标题: 请教一个format问题 [打印本页]

作者: shiyiming    时间: 2008-6-20 16:22
标题: 请教一个format问题
现在要把一个数据集里面的sex字段 (char 型,male, female )装换成1,2 (数值型),

我的sas 里面有一个从别处拷贝过来的lib,且叫它fmt, 里面存有许多format,里面就有Sex 的format,

请问可不可以直接用里面的format,而不用自己定义。

如何用?

多谢!!
作者: shiyiming    时间: 2008-6-20 18:11
标题: Re: 请教一个format问题
dm"log;clear;";
data a;
input n sex $;
cards;
1 male
2 female
3 male
4 female
5 male
6 female
;
run;
proc format;
value $sexfmt  'male'=1  'female'=2;
run;
data a;
set a;
format sex $sexfmt.;
run;
proc print data=a;
var n sex;
format sex $sexfmt.;
run;
就是用语句 format var varformat.这个语句,好像format语句不能改变类型,只是改变了输出格式。informat改变了输入格式,如果已经有编译好的format将varformat换成fmt.就可以了
作者: shiyiming    时间: 2008-6-20 18:19
标题: Re: 请教一个format问题
把那些编译好的format复制到work下,然后调用它,试一下,对不对?
作者: shiyiming    时间: 2008-6-20 19:11
标题: Re: 请教一个format问题
假设你在work库里有数据集a,fmt库里sex的format为sexfmt,那么code为,
options fmtsearch=(fmt) ;                                                                                                               
data b;                                                                                                                                 
set a;                                                                                                                                 
format sex $sexfmt.;                                                                                                                    
run;                                                                                                                                    
proc print;
run;




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2