SAS赋值语句与条件执行
我最近开始学习SAS程序的赋值语句和条件执行。我还是个初学者。我有几个问题要问,但我真的被卡住了。我需要帮助 给定长度为1的字符变量Y,创建一个新变量X7,存储表中定义的值:SAS赋值语句与条件执行,sas,Sas,我最近开始学习SAS程序的赋值语句和条件执行。我还是个初学者。我有几个问题要问,但我真的被卡住了。我需要帮助 给定长度为1的字符变量Y,创建一个新变量X7,存储表中定义的值: Y X8 'E' 'East' 'S' 'South' 'W' 'West' 'N' 'North' Other value
Y X8
'E' 'East'
'S' 'South'
'W' 'West'
'N' 'North'
Other value ''
我可能对这个问题有点误解,但看起来您只是想基于某些预定义条件创建一个新变量。如果这是你的目标,有无数的方法可以做到这一点。既然你说你是SAS的新手,我就给你两个基本的答案: 直接条件IF-Then-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中的另一项基本技术是使用格式:
首先创建您的格式。(如果它是一个小列表,一个简单的value语句可以正常工作,否则查看格式化过程中的cntlin=选项):
然后在一个数据步骤中,可以使用put()函数进行应用
data test2;
set test;
x7_2=put(y,$di.);
run;
proc print data=test2; run;
希望这能让你走上正轨。
如果我误解了,请澄清。
谢谢
b
data test2;
set test;
x7_2=put(y,$di.);
run;
proc print data=test2; run;