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

时间:2015-04-13 10:03:38

标签: sas

我正在尝试将非数字字符变量,区域更改为数字。 当我使用输入函数时,它会将字符中的所有值转换为缺失。任何人都可以帮助我,也许解释为什么会这样?

2 个答案:

答案 0 :(得分:0)

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

2300 23 
-2300 -23 
23. 23 
2.3 2.3 

答案 1 :(得分:0)

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

  1. 将数据加载到虚拟的一次性变量dispose1。
  2. 使用规则创建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;
    

    请点击此处了解详情:Building and Using User Defined Formats

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

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

      drop dummy;