我正在从事一些与临床研究相关的代码开发工作。我有多次访问,例如基线、第 01 周等。为了避免使用多个 IF-ELSE 语句为这些访问分配数值,我只是使用格式过程创建格式。
proc format;
value _vis $ 'baseline'='1'
'week01'='2'
'week02'='3' ;
run;
但我正在寻找的基线就像具有值 1(数字)而不是字符的基线。有没有办法解决这个问题。请帮忙。
只需将格式更改为信息...
过程格式; invalue vis /* INvalue = 信息 */ '基线' = 1 'week01' = 2 'week02' = 3 ; 跑; 数据数据1; d = '基线' ; n = 输入(d,VIS。); 跑 ; 进程打印;跑 ;
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 是数字变量。
这是你想要的?