替换SAS数据集中的值

时间:2018-03-25 03:14:14

标签: sas

我想要一个代码将数字替换为列中的字符。

例如:0 - "否1 - "是"。

我尝试使用if / else但是它不起作用!!!

Data Assign2.Grocery_coup_two;                                                                                                          
Set Assign2.Grocery_coupons;                                                                                                            
If Heath_food_Store = 0                                                                                                                 
then Health_food_Store = "No";                                                                                                          
Else Health_food_Store = "Yes";                                                                                                         
Run;    





Health_Food_Store
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1

2 个答案:

答案 0 :(得分:4)

您的解决方案无效,因为您正在尝试将数字变量转换为字符串变量。解决此问题的一种方法是将数字变量重命名为_old,然后运行if-else语句:

Data Assign2.Grocery_coup_two;                                                                                                          
    Set Assign2.Grocery_coupons (rename = (Health_food_Store = Health_food_Store_old));                                                                                                            
    If Heath_food_Store_old = 0                                                                                                                 
    then Health_food_Store = "No";                                                                                                          
    Else Health_food_Store = "Yes";                                                                                                         
    DROP Health_food_Store_old;
Run;    

答案 1 :(得分:1)

一种解决方案是使用SAS格式。就像您可以将数字变量格式化为日期(例如DATE9。很受欢迎)一样,您可以创建自己的格式。

如果您不想在代码中重复if ... then语句,这非常有用。

在您的情况下,下面的解决方案可能会有用。

Proc format;
value $YN
1 = 'Yes'
0 = 'No'
;
run;

Data Assign2.Grocery_coup_two;  
Set Assign2.Grocery_coupons;
format Health_food_Store $YN.;
run;

proc format语句会创建新格式$YN,该格式适用于Health_food_Store条件的set