%macro corr(lib,table);
%if &table= %then %do;
%put 'la table n''est pas renseigne';
/*%goto exit;*/
%end;
%else %if &lib= %then
%do;
%put 'la librairie n''est pas renseigne';
proc corr data=&table plots=matrix outp=corr;
run;
%end;
%else
%do;
proc corr data=&&lib..&table plots=matrix outp=corr;
run;
%end;
data corr;
set corr;
if _name_='' then delete;
drop _type_;
run;
%mend corr;
问题1:我尝试了不同的数据集,但是发现一个问题:这个宏直接省略了字符型(qualitative)数据,只保留了数值型(quantitative)数据。应该怎么处理呢?
问题2:这里的macro参数我只设置了lib和table两个。再往下做的话,还需要一个参数var,也就是要指定研究的变量(考察的变量的个数肯定要大于等于2,但是也没有上限,视数据集情况而定)。对于不同大小不同类型的数据集,应该怎么设定这个参数呢?if first.type then num=1;else num=num+1;if type=1
then
do;call symput(...)我试了一下这个语句,但是只能用于数值型数据,没办法用在字符型数据上。
求高人解答!
谢谢了!



雷达卡



京公网安备 11010802022788号







