全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2955 4
2017-12-27
请问如何用宏参数实用多个分类变量的proc freq过程?
谢谢!

目的:要进行多次chi-square test,
如何只改变数据集变量的取值及数据集名?

log中错误提示如下:
复制代码

code1:
复制代码
macro参数里的数字都是字符,
可能cards识别不了,
用%eval()转换也不行.

code2:
%macro mfreq(n11=,n12=,n21=,n22=,name=);
data &name.;
    do group = 1 to 2;
     do r = 1 to 2;
     input f @@;
     output;
     end;
    end;
cards;
&n11.
&n12.
&n21.
&n22.
;
run;
proc print data=&name.;
run;
proc freq data=&name.;
    weight f;
    tables group*r/expected chisq exact;
run;
%mend mfreq;

%mfreq(n11=15,n12=35,n21=33,n22=27,name=fail)






二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-12-27 17:50:27
宏里面不能用cards
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-28 08:39:56
mathkkk 发表于 2017-12-27 17:50
宏里面不能用cards
好,谢谢!

那这个简单粗暴的思路行不通了.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-28 09:14:01
还有,我觉得就算你这写的宏可以用,也没省多少力。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-28 09:31:20
mathkkk 发表于 2017-12-28 09:14
还有,我觉得就算你这写的宏可以用,也没省多少力。
对,
就是看着整齐了.

下面这段代码可以实现上述macro的目的.
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群