在SAS中,如果第一个数据是字符,我想使用'if〜else if'函数执行一些指令,如果它们是数字,则要执行其他指令。
我试图使用'if〜else if'语句,但是我不知道如何指定条件语句。
在此代码中,
data pr1;
input ~~~~
put profname$ course;
cards;
LEE 22
15 PARK
;
run;
我想展示这个。
profname course
LEE 22
PARK 15
我可以在'~~~'??中放入什么?
答案 0 :(得分:1)
您可以在此处执行一些巧妙的INPUT语句魔术,但是我认为最简单,最清晰的解决方案是将两列都读取为字符数据,然后对其进行测试以查看哪一列包含哪些数据:
data pr1 (keep = profname course);
* Declare PROFNAME as character and COURSE as numeric;
length profname $ 20 course 8;
* Read in two columns of data;
input col1 $ col2 $
if input(col1, ??best.) = . then do;
* If COL1 cannot be converted to a number, assume it is a name;
profname = col1;
course = input(col2, ??best.);
end; else do;
* Otherwise assume COL2 is the name;
profname = col2;
course = input(col1, ??best.);
end;
cards;
LEE 22
15 PARK
;
run;
??
函数中的INPUT()
修饰符会在无法处理某个值时抑制通常的警告。