我知道我可以使用以下内容来计算所有Chars的频率:
function castStringToFloat(number) {
let numberString = number.replace(",", ".");
return parseFloat(numberString);}
但是,有没有办法排除一些变量?我想做点什么:
proc freq data=sashelp.class;
tables _char_;
run;
非常感谢你!
答案 0 :(得分:5)
你可以使用drop =,如下所示。
proc freq data=sashelp.cars(drop=origin make); tables _char_; run;
答案 1 :(得分:0)
下拉示例是最简单的,当然也可能是最好的,如果这完全是请求。
但是,如果它略有不同 - 例如,您想要包含(或排除)与特定模式匹配的所有字符变量,您可以使用从dictionary.columns(或proc内容输出数据集)构造的宏变量
proc sql;
select name
into :freqlist separated by ' '
from dictionary.columns
where memname='YOURTABLE' and libname='YOURLIB'
and type='char' and name like 'PATTERN%'
;
quit;
显然,在适当的时候填写各种大写字母。通常MEMNAME,LIBNAME和NAME存储为大写,但并非总是如此,因此请考虑向它们添加UPCASE()。
然后,您可以将&freqlist.;
放在tables语句上,以获取与您的查询匹配的列的列表。