如何从SAS中的字符串创建数字格式?

时间:2013-09-30 07:46:05

标签: format sas

我正在从事与临床研究相关的一些代码开发。我有多次访问,比如基线,第01周等等。为避免使用多个IF-ELSE语句为这些访问分配数值,我只是使用格式化程序创建格式。

proc format;
 value _vis $ 'baseline'='1'
            'week01'='2'
            'week02'='3' ;
run;

但我正在寻找的是基线,其值为1(数字)而不是字符。有没有办法解决这个问题。请帮忙。

2 个答案:

答案 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是数字变量。

这是你在找什么?