如何在 sas 中重新排序变量(附示例)


您可以使用 SAS 中的RETAIN函数快速对数据集中的变量重新排序。

以下是使用此功能的三种最常见方法:

方法 1:重新排列所有变量

 data new_data;
    retain var4 var5 var1 var3 var2;
    set original_data;
run ;

方法 2:向前移动变量

 data new_data;
    retain var4;
    set original_data;
run ;

方法3:前移多个变量

 data new_data;
    retain var4 var5;
    set original_data;
run ;

以下示例展示了如何在 SAS 中对以下数据集使用每种方法:

 /*create dataset*/
data original_data;
    input team $ points rebounds assists steals;
    datalines ;
A 18 10 4 5
B 24 11 6 7
C 26 14 6 8
D 34 22 5 3
E 38 3 7 7
F 45 12 4 4
G 23 7 9 1
;
run ;

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

示例 1:重新排列所有变量

以下代码展示了如何按以下顺序重新排列变量:球队、篮板、助攻,然后是得分。

 /*create new dataset with variables reordered*/
data new_data;
    retain team rebounds assists steals points;
    set original_data;
run ;

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

SAS 中的变量重新排序

请注意,变量按照我们在RETAIN函数中指定的确切顺序重新排列。

示例 2:向前移动变量

以下代码演示了如何向前移动辅助变量,同时使所有其他变量保持相同的顺序:

 /*create new dataset with variables reordered*/
data new_data;
    retain assists;
    set original_data;
run ;

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

我们看到变量助攻现在处于第一位,而所有其他变量仍保持相同的顺序。

示例 3:向前移动多个变量

以下代码演示了如何向前移动辅助变量反弹变量,同时使所有其他变量保持相同的顺序:

 /*create new dataset with variables reordered*/
data new_data;
    retain assists;
    set original_data;
run ;

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

我们看到助攻篮板变量现在处于第一和第二位置,而所有其他变量仍保持相同的顺序。

其他资源

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

如何在SAS中使用过程摘要
如何在 SAS 中使用 Proc Tabulate
如何在SAS中重命名变量
如何在 SAS 中创建新变量

添加评论

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