1

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

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

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

4

2 回答 2

3

只需将格式更改为信息...

过程格式;
  invalue vis /* INvalue = 信息 */
    '基线' = 1
    'week01' = 2
    'week02' = 3
  ;
跑;

数据数据1;
  d = '基线' ;
  n = 输入(d,VIS。);
跑 ;
进程打印;跑 ;

于 2013-09-30T12:26:39.370 回答
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;

测试2:

vis     vis2    vis3
baseline    1   1
week01      2   2
week02      3   3

其中 vis & vis2 是字符变量,而 vis3 是数字变量。

这是你想要的?

于 2013-09-30T08:16:14.690 回答