我正在从事与临床研究相关的一些代码开发。我有多次访问,比如基线,第01周等等。为避免使用多个IF-ELSE语句为这些访问分配数值,我只是使用格式化程序创建格式。
proc format;
value _vis $ 'baseline'='1'
'week01'='2'
'week02'='3' ;
run;
但我正在寻找的是基线,其值为1(数字)而不是字符。有没有办法解决这个问题。请帮忙。
答案 0 :(得分:3)
只需将格式更改为信息......
proc format; invalue vis /* INvalue = informat */ 'baseline' = 1 'week01' = 2 'week02' = 3 ; run; data data1 ; d = 'baseline' ; n = input(d,VIS.) ; run ; proc print ; run ;
答案 1 :(得分:0)
proc format;
value $_vis
'baseline'='1'
'week01'='2'
'week02'='3';
run;
data test;
length vis $8.;
vis = 'baseline';
output;
vis = 'week01';
output;
vis = 'week02';
output;
run;
data test2;
set test;
vis2=vis;
format vis2 _vis.;
vis3=input(put(vis2, _vis.),8.);
run;
TEST2:
vis vis2 vis3
baseline 1 1
week01 2 2
week02 3 3
vis& vis2是字符变量,vis3是数字变量。
这是你在找什么?