SAS proc 格式的其他值

OTHER values in SAS proc format

我需要将变量 REG 中的分类数据转换为数字,我按如下所示进行操作:

proc format;
  value $Reg
    "To"=1
    "Al"=2
    "No"=3
    "Cu"=4
    other=5;
run;

data new;set old;
  format REG $Reg.;
run;

我尝试了 中的方法,REG 列的所有值(在所有情况下)都更新为 5。我可以知道如何正确转换吗?感谢您的帮助。

工作正常吗?

proc format;
  value $Reg
    "To"=1
    "Al"=2
    "No"=3
    "Cu"=4
    other=5;
run;

data old;
input REG $;
datalines;
To
A1
No
Cu
;

data new;
  set old;
  format REG $Reg.;
run;

请注意,Value Statement 中的值区分大小写。这可能就是原因。

您使用自定义 INFORMATINPUT 语句将文本转换为数字。

示例:

proc format;
  invalue Reg
    "To"=1
    "Al"=2
    "No"=3
    "Cu"=4
    other=5;

data have;
  input reg $ measure @@;
  datalines;
To 1.25 Moo 2.5 Al 3.2 Ti 5.6
Po 6.78 H 3.67 He 9.1 No 4.44
Cu 8.12 Cu 8.21 Yt 1.5
;

data want;
  set have;
  reg_num = input (reg, Reg.);
run;