SAS中文论坛
标题:
求助format
[打印本页]
作者:
shiyiming
时间:
2011-7-18 07:53
标题:
求助format
SAS数据如下:
format from to
$sex
1 男
2 女
$smoke
1 是
2 否
如何通过以上数据集实现
proc format;
value $sex 1="男" 2="女";
value $smoke 1="是" 2="否";
run;
作者:
shiyiming
时间:
2011-7-18 12:24
标题:
Re: 求助format
you can use the format or put statement. for example:
[code:3s7922nl]data yours;
input sex $ smoke $;
cards;
1 1
2 2
;
proc format;
value $sex 1="男" 2="女";
value $smoke 1="是" 2="否";
run;
data out1;
set yours;
S_sex=put(sex,$sex.);S_smoke=put(smoke,$smoke.);
run;
data out2;
set yours;
format sex $sex.
smoke $smoke.;
run;
[/code:3s7922nl]
作者:
shiyiming
时间:
2011-7-18 13:04
标题:
Re: 求助format
呵呵 我的意思根据数据集产生format
作者:
shiyiming
时间:
2011-7-18 21:43
标题:
Re: 求助format
没看懂你原数据集的格式,主要是将"from" rename成start,将"to" rename成label,分别定义fmtname为sex和smoke,type为"C",然后用
[code:3b17utjq]
proc format library= cntlin=;
run;
[/code:3b17utjq]
作者:
shiyiming
时间:
2011-7-18 21:48
标题:
Re: 求助format
Data yourFmt;
format start end 3. label FMTName $8.;
input start end babel $ fmtname $;
datalines;
1 1 男 Sexfmt
2 2 女 Sexfmt
1 1 是 smkfmt
2 2 否 smkfmt
;
run;
Proc Format cntlin=yourFmt;
run;
data outdata;
set yourdataset;
newsex=put(sex,$xesfmt.);
smokeChar=put(smoke,$smkfmt.);
run;
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2