我想将标题和性别变量表示为数字。为此,我需要添加什么代码?
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;
答案 0 :(得分:2)
您快到了-格式语句的语法略有错误。这是您当前的格式声明:
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;