在sas中将非数字字符转换为数字字符

在sas中将非数字字符转换为数字字符,sas,Sas,我正在尝试将非数字字符变量region更改为数字。 当我使用输入函数时,它会将字符中的所有值转换为missing。谁能帮我解释一下为什么会这样 行,您需要使用符合数据的信息。通常,使用w.d信息。 例如,如果您在第一列中有值,并使用6.2信息,您将在第二列中获得值: 2300 23 -2300 -23 23. 23 2.3 2.3 使用伪一次性变量加载字符数据,创建SAS格式,将字符值转换为新持久变量中的数值 将数据加载到一个伪一次性变量dispose1中 使用规则创建SAS格式,以将

我正在尝试将非数字字符变量region更改为数字。
当我使用输入函数时,它会将字符中的所有值转换为missing。谁能帮我解释一下为什么会这样

行,您需要使用符合数据的信息。通常,使用w.d信息。 例如,如果您在第一列中有值,并使用6.2信息,您将在第二列中获得值:

2300 23 
-2300 -23 
23. 23 
2.3 2.3 

使用伪一次性变量加载字符数据,创建SAS格式,将字符值转换为新持久变量中的数值

  • 将数据加载到一个伪一次性变量dispose1中
  • 使用规则创建SAS格式,以将字符转换为区域编号。ej

    proc format library=library;
      value Num_region
      'Region 1'         = 1
      'Region 2','North' = 2
      'R3','East'        = 3
      '4','W'            = 4
      other              = 9
        ; 
     run;
    
    有关更多详细信息,请参见此处:

  • 使用input()函数将新格式应用于虚拟变量,创建一个新的数值变量

    Numeric_var = input(dummy,Num_region.);
    
    drop dummy;
    
  • 丢弃虚拟变量

    Numeric_var = input(dummy,Num_region.);
    
    drop dummy;
    

  • 如果您提供您尝试过的数据和代码示例,我们将更容易为您提供帮助。您是否要求将字符变量转换为因子变量?在这里显示数据和“想要”的示例绝对是一个好主意。