很多时候字符变量值是由几个单词组建而成,例如:crack man ;si chuan;chengdu city等等
那么如何统计这次字符变量中的单词数呢?
看看第一个方法:
SCAN函数
proc sort data=sashelp.zipcode(keep=statename)
out=allnames nodupkey;
by statename;
run;
data crackman;
set allnames;
Words=0; do while(scan(statename,Words+1,” “) ne ” “);
Words+1;
end;
run;
proc freq data=crackman; tables Words;
title1 “Number of Words in U.S. State and Territory Names”;
run;
第二个方法:
proc sort data=sashelp.zipcode(keep=statename)
out=allnames nodupkey;
by statename;
run;
data crackman;
set allnames;
Words=countw(statename,” “);
run;
proc freq data=crackman; tables Words;
title1 “Number of Words in U.S. State and Territory Names”;
run;
用的一个countw函数,这个函数是SAS9.2中引入的新函数 countw中的第二个参数可以用来指明字符变量值中单词之间的连接符,空格或者‘-’符号都可以。