楼主: 郭腾
1687 3

为什么SAS打印出了我没有设置打印的结果呢 [推广有奖]

  • 10关注
  • 1粉丝

已卖:39份资源

博士生

46%

还不是VIP/贵宾

-

威望
0
论坛币
3277 个
通用积分
0.1500
学术水平
4 点
热心指数
8 点
信用等级
4 点
经验
5226 点
帖子
283
精华
0
在线时间
241 小时
注册时间
2012-11-8
最后登录
2018-6-6

楼主
郭腾 发表于 2014-1-16 16:56:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求大神帮忙给看看,为什么我打印出了univariate过程中的所有结果,我只想打印最后那个表格呀,这是程序,运行结果见附件 服药前后血液检查差异性比较结果.rar (28.08 KB) 本附件包括:
  • 服药前后血液检查差异性比较结果.rtf

%macro pairTest(title=, infile=, var1=, var2=);
data dif;
   set &infile.(keep=&var1. &var2.);
   var_new=&var1-&var2;
run;
data dm;
   set &infile.(keep=&var1. rename=(&var1.=var_cb) in=ina) &infile.(keep=&var2. rename=(&var2.=var_cb));
   if ina then group=1 ;else group=2;
run;
proc univariate data=dm;/*描述统计*/
   var var_cb;
   by group;
   output out=dscrp n=n nmiss=nmiss mean=mean std=std median=med q1=q1 q3=q3  min=min max=max ;
run;
data one(where=(group=1)) two(where=(group=2));
    set dscrp;
run;

data dhp;
    merge one(rename=(n=NA nmiss=MA mean=MeanA med=medA std=stdA Q1=Q1A Q3=Q3A Min=MinA max=MaxA ))
          two(rename=(n=NB nmiss=MB mean=MeanB med=medB std=stdB Q1=Q1B Q3=Q3B Min=MinB max=MaxB ));
run;

proc univariate normal data=dif;/*正态性检验*/
    var var_new;
    output out=N_test n=n nmiss=nmiss normal=z probn=probn ;
run;




proc ttest data=dif;/*配对T检验*/
    ods output TTests=TTests;
    paired &var1.*&var2.;
        run;


data result;
    merge N_test dhp ttests;
        format z 6.2 probn 6.4 tValue 6.2 probt 6.4 MeanA 6.2 stdA 6.4 MeanB 6.2 stdB 6.4;
run;
data _NULL_;/**/
    set result;
    file print notitle;
    put
    # 1 @30  "&title."
    # 2 @3  "访视"       @23 "服药前"  @46"服药后"
        # 3 @3  "正态性检验 " @22 "Z=" z @45"P=" probn
        # 4 @3  "配对T检验"   @22 "T=" tValue @45 "P=" Probt
    # 5 @3  "例数(缺失)"  @22 NA '(' MA ')' @45 NB '(' MB ')'
        # 6 @3  "均数(标准差)"  @22 MeanA '(' stdA ')'  @45 MeanB '(' StdB ')'
        # 7 @3  "中位数(P25~P75)"  @22 MedA '(' Q1A '-' Q3A ')'  @45 MedB '(' Q1B '-' Q3B ')'
        # 8 @3  "最小值-最大值"  @22 MinA '-' MaxA @45 MinB '-' MaxB;
run;
proc datasets; delete result dif dm one two dscrp dhp ttests N_test; quit;
%mend;

/*血液检查 访视2和访视3比较*/
ods listing close;
ods rtf file="E:\bc-biostat\ed\sasfile\服药前后血液检查差异性比较结果.rtf";

%pairTest(title=血细胞,  infile=ed.sas_db, var1= rbc0,var2=rbc1);
%pairTest(title=血红蛋白,infile=ed.sas_db, var1=hgb0,var2=hgb1);
%pairTest(title=血细胞,  infile=ed.sas_db, var1=rbc0,var2=rbc1);
%pairTest(title=白细胞,  infile=ed.sas_db, var1=wbc0,var2=wbc1);
%pairTest(title=血小板,  infile=ed.sas_db, var1=plt0,var2=plt1);
ods rtf close;
ods listing;

二维码

扫码加我 拉你入群

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

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

关键词:Univariate datasets Variate listing dataset title 程序 统计

沙发
郭腾 发表于 2014-1-16 16:57:27
欢迎大神前来答疑解惑,谢谢

藤椅
牵你↗左手 发表于 2014-1-16 17:17:38
两个地方,一个proc univariate data=dm;/*描述统计*/加noprint选项;
第二个ods output TTests=TTests;
     paired &var1.*&var2.;
改成ods select none;
proc ttest data=dif;/*配对T检验*/
ods output TTests=TTests;
     paired &var1.*&var2.;
run;
ods select all;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
郭腾 + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
郭腾 发表于 2014-1-17 08:29:42
牵你↗左手 发表于 2014-1-16 17:17
两个地方,一个proc univariate data=dm;/*描述统计*/加noprint选项;
第二个ods output TTests=TTests;
...
谢谢您的回复,谢谢,对我很有帮助

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 02:30