SAS将数字变量覆盖为字符

use*_*584 1 numeric character sas

我有一个数字变量(例如圆柱体),我想将其覆盖为一个字符(并在表中保持相同的顺序)。

我想一步完成。有什么聪明的方法可以做到吗?

data cars; set sashelp.cars; 
if cylinders >= 6 then cylinders = 'Big'; 
if cylinders < 6 then cylinders 'Ecocar'; 
run;
Run Code Online (Sandbox Code Playgroud)

我只是想避免创建新字符变量然后不得不将该新字符变量重新定位到圆柱体在表格中的位置的繁琐步骤。

小智 5

尝试使用 Proc 格式

Proc format;
      Value CylSize
           0 - 6 = ‘Ecocar’
           7 - high = ‘Big’;
Run;

Data cars;
   Set sashelp.cars;
    Format Cylinders CylSize.;
Run;
Run Code Online (Sandbox Code Playgroud)