全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3684 1
2017-06-15
大家好.
请问如何对多个数据集批量整理后,再批量进行卡方检验?
如何用宏实现红色的代码?
谢谢.



第1步:如何对导入的多个txt数据集(保存在逻辑库work中)批量进行整理?
             其中txt导入数据集a为例,其他导入的txt数据集格式与a同:
data a;
        format var1 best1.;
        format var2 best2.;
        input var1 var2;  *var1=阳性例数,var2=总例数;
    cards;
    7 30
    1 32
    ;
run;

    data group;
        do group = 1 to 2;
            do r = 1 to 2;
            output;
            end;
        end;
    run;

    %do i = 1 %to &nobs.;
     data work.&name.(keep=freq);
        set work.&name.;
        var1_=var2-var1;

        freq=var1; output;
        freq=var1_; output;
    run;
   
    /***将(1)与group数据集横向合并生成所需数据格式;*/

    data work.&name.;
        merge group work.&name.;
    run;

    %end;


第2步:如何批量对步骤1中的数据集逐个进行卡方检验?
   /***proc freq 生成卡方检验的结果,并将各组频数、卡方值与P值合并在一个数据集中;***/

    %do i = 1 %to &nobs.;
    proc freq data=work.&name.;
        weight freq;
        tables group*r/expected chisq out=count(keep=count) exact;
        output out=chisq(drop=df_pchi) pchi;
    run;

    data chisq&name.;
        set chisq;
            label _pchi_="卡方值"
                  p_pchi="P值";
    run;

    proc transpose data=count out=count&name.;
    run;

    data count&name.;
        set count&name.;
        keep count;
        rename  COL1=A1
                COL2=A2
                COL3=B1
                COL4=B2;
    run;

    data countchisq&name.;
        merge count&name. chisq&name.;
    run;


二维码

扫码加我 拉你入群

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

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

全部回复
2019-12-15 15:38:31
这个楼主知道咋整了吗
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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