【问题标题】:Multiple strings to inntegers in SASSAS中整数的多个字符串
【发布时间】:2017-10-30 23:24:30
【问题描述】:

我有一系列字符串变量 (x, y, z),我需要将其观察结果从字符串(x= 小于 1 英里,大于 1 英里小于 5 英里等)更改为整数(xrecode= 1、2 等)。

有没有自动化的方法来做到这一点?我需要一个自动化的方法来摆脱这个值等于 1,那个值等于 2,...(是否欢迎循环、数组、宏)?

【问题讨论】:

  • 格式和/或查找表。很可能是一种格式。如果您想了解该帖子之外的更多详细信息,包括您拥有的样本、您的期望以及最重要的是您目前尝试过的内容。
  • 我需要帮助找出构建 co Hde 以选择具有缺失值的多个变量。起始代码:PROC SQL; SELECT x INTO :x SEPERATED BY "" FROM have;辞职; %let x = &x;
  • 通过编辑问题而不是在 cmets 中包含代码来发布您尝试过的内容。那是不清晰的。

标签: arrays macros sas do-loops


【解决方案1】:

您可以使用 INFORMAT 将文本转换为整数。

proc format ;
  invalue distance 
   'less than 1 mile'=1
   'more than 1 mile'=2
   'less then 5 miles'=3
  ;
quit;

您可以通过遍历一个 ARRAY 将相同的操作应用于多个相似的列。

data want ;
  set have ;
  array in x y z ;
  array out nx ny nz ;
  do i=1 to dim(in);
    out(i)=input(in(i),distance.);
  end;
run;

【讨论】:

    【解决方案2】:

    Reeza 是对的。 Proc 格式例如:

    proc format; 
        value ToForm 
        low-1 = 'less than one'
        1-5 = 'one to five'
        5-high = 'over five'
    ;quit;
    
    data wanted;
        set begin;
        format val_to_format ToForm.;
    run;
    

    有关 proc 格式的更多信息,请参阅:SAS documentation: proc format

    【讨论】:

    • 听起来像 OP 想要一个信息,从字符到数字。
    猜你喜欢
    • 2020-12-04
    • 1970-01-01
    • 2016-08-29
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 2012-01-15
    相关资源
    最近更新 更多