如何在 sas 中重命名变量(附示例)


您可以使用重命名函数重命名 SAS 数据集中的一个或多个变量。

该函数使用以下基本语法:

 data new_data;
    set original_data ( rename =(old_name=new_name));
run ;

以下示例展示了如何在实践中针对以下数据集使用此函数:

 /*create dataset*/
data original_data;
    input xyz;
    datalines ;
1 4 76
2 3 49
2 3 85
4 5 88
2 2 90
;
run ;

/*view dataset*/
proc print data = original_data; 

示例 1:重命名变量

以下代码显示如何仅重命名数据集中的x变量:

 /*rename one variable*/
data new_data;
set original_data ( rename =(x=new_x));
run ;

/*view new dataset*/
proc print data = new_data;

请注意, x已重命名为 new_x ,但所有其他变量名称保持不变。

示例 2:重命名多个变量

以下代码显示如何重命名数据集中的xy变量。

请注意,您不需要在新变量名称之间包含逗号。

 /*rename multiple variables*/
data new_data;
    set original_data ( rename =(x=new_x y=new_y));
run ;

/*view new dataset*/
proc print data=new_data; 

示例 3:为所有变量添加前缀

以下代码展示了如何为数据集中的所有变量添加_NEW前缀:

 /*define prefix to append to each variable*/
proc sql noprint ;
   select cats(name, '=', '_NEW', name)
          into :list
          separated by ' '
          from dictionary.columns
          where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit ;

/*add prefix to each variable in dataset*/
proc datasets library = work;
   modify original_data;
   rename &list;
quit ;

/*view updated dataset*/
proc print data = original_data; 

示例4:为所有变量添加后缀

以下代码展示了如何为数据集中的所有变量添加_NEW后缀:

 /*define suffix to append to each variable*/
proc sql noprint ;
   select cats(name, '=', name, '_NEW')
          into :list
          separated by ' '
          from dictionary.columns
          where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit ;

/*add suffix to each variable in dataset*/
proc datasets library = work;
   modify original_data;
   rename &list;
quit ;

/*view updated dataset*/
proc print data = original_data; 

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

SAS中如何用零替换缺失值
SAS中如何删除重复项
如何标准化 SAS 中的数据

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注