首页 > 解决方案 > 我想在我的 SAS 表中将标题和性别变量表示为数字。我如何在 SAS 中执行此操作?

问题描述

我想将标题和性别变量表示为数字。我需要添加什么代码才能做到这一点?

DATA test;
INPUT title$ gender$ name$ age;
CARDS;
Mr Male Micheal 20
Mrs Female Stephanie 25
Mr Female Linda 30
Dr Male James 40
Dr Female Jane 45;
run;

以下是我对这个问题的尝试。然而,有些事情是错误的,因为标题和性别变量没有改变!

proc format library = Work;
value $title_ 'Mr' = 1 'Mrs' = 2 'Dr' = 3;
value $gender_ 'Male' = 1 'Female' = 2;    
run;

OPTIONS FMTSEARCH = (Work);

data test;
format $title $title_;
set test;
run;

标签: sas

解决方案


您快到了 - 您的格式语句的语法略有错误。这是您当前的格式声明:

format $title $title_;

这是一个更正的。我已经扩展它以应用您的性别格式:

  format title $title_. gender $gender_.;

无需覆盖数据集即可应用格式,即

data mydata;
  set mydata;
  format ...;
run;

您可以通过使用 proc 数据集直接应用一个,而不是像上面那样编写数据步骤,例如

proc datasets lib = work;
  modify test;
  format title $title_. gender $gender_.;
  run;
quit;

推荐阅读