我最近开始学习SAS程序的赋值语句和条件执行。我还是个初学者。我有几个问题要做,但我真的被卡住了。我需要帮助。
给定长度为1的字符变量Y,创建一个新变量X7,存储表中定义的值:
Y X8
'E' 'East'
'S' 'South'
'W' 'West'
'N' 'North'
Other value ''
答案 0 :(得分:1)
我可能在这里误解了这个问题,但看起来你只是想根据某些预定条件创建一个新变量。如果这是你的目标,那么有很多方法可以做到这一点。既然你说你是SAS的新手,我会给出这个问题的两个基本答案:
直接前瞻性条件IF然后Else陈述:
data test;
input Y $1.;
length x7 $5;
if Y="E" then X7="East";
else if Y="S" then x7="South";
else if Y="W" then x7="West";
else if Y="N" then x7="North";
else x7="";
datalines4;
E
N
S
E
_
W
?
;;;;
run;
proc print data=test;
run;
注意:如果没有length语句,x7将默认为其第一个输入的长度。在这种情况下,$ 4。
SAS的另一项基本技术是使用格式:
首先创建您的格式。 (如果它是一个小的列表,一个简单的值语句将正常工作,否则查看格式过程中的cntlin =选项):
proc format;
Value $DI
'E'='East'
'S'='South'
'W'='West'
'N'='North'
Other=' ';
run;
然后在数据步骤中你可以使用put()函数来应用;
data test2;
set test;
x7_2=put(y,$di.);
run;
proc print data=test2; run;
希望能让你顺利上路。 如果我误解了,请澄清。 谢谢! B'/ P>