楼主: lnlhckao123
2745 14

[问答] 200论坛币求怎样定义P值输出的位数 [推广有奖]

  • 0关注
  • 3粉丝

副教授

61%

还不是VIP/贵宾

-

威望
0
论坛币
14832 个
通用积分
9.1001
学术水平
7 点
热心指数
4 点
信用等级
4 点
经验
12566 点
帖子
754
精华
0
在线时间
399 小时
注册时间
2010-8-21
最后登录
2024-2-8

200论坛币
请问高手,怎样定义P值输出的位数,如下两个程序步,怎样定义他们的P值输出位数,谢谢高手指点!

proc npar1way wilcoxon;
  var x;
  class c;
run;


proc ttest;
var x;
class c;
run;

最佳答案

ariman911 查看完整内容

法一: 第一個npar1way有output statement 所以可以用最簡單的方法 proc npar1way wilcoxon; var x; class c; output out=aa; run; proc print data=aa; format PR_WIL P2_WIL PTR_WIL PT2_WIL P_KW 12.9; run; 第二個ttest沒有output的statement 可以使用ods的statement ods trace on; proc ttest data=test; var x; class c; run; ods trace off; run; 先去Log裡看每個表單的名稱如下 Output Added: ...
关键词:200论坛币 0论坛币 论坛币 wilcoxon wilcox 程序

本帖被以下文库推荐

即使在人大经济论坛这个网络世界,我仍以真诚为基础与我的好友进行交往!
沙发
ariman911 发表于 2013-4-29 21:13:05 |只看作者 |坛友微信交流群
法一:
第一個npar1way有output statement
所以可以用最簡單的方法
proc npar1way wilcoxon;
  var x;
  class c;
  output out=aa;
run;
proc print data=aa;
format PR_WIL P2_WIL PTR_WIL PT2_WIL P_KW 12.9;
run;
第二個ttest沒有output的statement
可以使用ods的statement
ods trace on;
proc ttest data=test;
var x;
class c;
run;
ods trace off;
run;
先去Log裡看每個表單的名稱如下
Output Added:
-------------
Name:       TTests
Label:      T-Tests
Template:   Stat.TTest.TTests
Path:       Ttest.x.TTests
可以知道你的TTest表的名稱
法二
可以用ods將檢定表格輸出如下
proc ttest data=test;
var x;
class c;
ods output TTests=bb;
run;
proc print data=bb;
format probt 12.9;
run;
法三:
利用proc template修改ttest的表格內容再執行一次ttest如下
proc template;
    edit Stat.TTest.TTests;
        edit Probt;
            format = 12.9;
        end;  
    end;
run;
proc ttest data=test;
var x;
class c;
run;
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
webgu + 50 + 1 + 1 + 1 热心帮助其他会员
rdwalk + 1 + 1 + 1 分析的有道理

总评分: 论坛币 + 50  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

藤椅
yongyitian 发表于 2013-4-29 22:55:14 |只看作者 |坛友微信交流群
/* this works for TTest */

proc template;         /* add and run this before t-test */
   define column Common.PValue;
            format = pvalue4.2;                     /* this can be changed as format=pvalue5.3 */
   end;
run;

proc ttest  data = sashelp.class;
   var weight;
   class sex;
run;

ODS PATH SASHELP.TMPLMST(READ);    /* restore to the default template setting */
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
lnlhckao123 + 3 + 3 + 5 热心帮助其他会员
webgu + 50 + 1 + 1 + 1 观点有启发

总评分: 论坛币 + 50  学术水平 + 4  热心指数 + 4  信用等级 + 6   查看全部评分

使用道具

板凳
Eternal0601 发表于 2013-4-30 10:41:55 |只看作者 |坛友微信交流群
ariman911 发表于 2013-4-29 23:31
法一:
第一個npar1way有output statement
所以可以用最簡單的方法
对于第三种方法修改ttest表格内容,不知如何才能恢复到默认设置,是也用楼上的ODS PATH SASHELP.TMPLMST(READ); 语句吗?谢谢!

使用道具

报纸
yongyitian 发表于 2013-4-30 12:07:41 |只看作者 |坛友微信交流群
楼上的问提很好。 我理解这样的,不一定准确。

沙发里最后一句:   ODS PATH SASHELP.TMPLMST(READ); 是后来加上的。

前面的define 语句实际是新定义了一个column的格式, 并没有修改sas default的输出格式。

而新定义的格式有使用优先权。 所以后面遇到输出pvalue时就会使用这个格式。

最后一句实际上只是恢复使用default的输出格式。

没有试过 edit (修改)sas default template. 感觉修改后的 template,
用 ODS PATH SASHELP.TMPLMST(READ); 语句是不可以恢复的,只能修改回去。

建议在 edit 前要先做一个备份。
default template 的文件名是 tmplmst.sas7bitm,可一在下面的folder里找到。

C:\Program Files\sasroot\core\sashelp.

使用道具

地板
ariman911 发表于 2013-5-1 17:21:42 |只看作者 |坛友微信交流群
那是我以前從SUGI看到的
下面是原始文章
http://www.nesug.org/proceedings/nesug06/po/po09.pdf

使用道具

7
lnlhckao123 发表于 2013-5-1 21:20:53 |只看作者 |坛友微信交流群
可以问一下ods trace on 是什么意思?谢谢!!
即使在人大经济论坛这个网络世界,我仍以真诚为基础与我的好友进行交往!

使用道具

8
Eternal0601 发表于 2013-5-1 21:30:23 |只看作者 |坛友微信交流群
lnlhckao123 发表于 2013-5-1 21:20
可以问一下ods trace on 是什么意思?谢谢!!
一般一个proc步都会在output中产生多个object,而你想将其中某一部分或一个object输出到数据集中,就需要用ods output object_name=yourdataset, ods trace on能够帮你追踪到每个object所对应的object_name,不知道讲清楚没有,希望对lz有帮助
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
lnlhckao123 + 2 + 2 + 2 热心帮助其他会员

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

使用道具

9
lnlhckao123 发表于 2013-5-1 21:31:42 |只看作者 |坛友微信交流群
proc template;        
   define column Common.PValue;
            format = pvalue4.2;                  
   end;
run;
请问,define ;语句是什么意思?谢谢高手!
         end;
即使在人大经济论坛这个网络世界,我仍以真诚为基础与我的好友进行交往!

使用道具

10
rdwalk 发表于 2013-5-1 21:33:07 |只看作者 |坛友微信交流群
lnlhckao123 发表于 2013-5-1 21:20
可以问一下ods trace on 是什么意思?谢谢!!
这是ODS输出(默认listing,9.3默认html可修改)控制的一个应用。trace用来用来获取所有的输出对象。
ods trace on 开始使用/打开这一功能;
ods off off 停止使用/关闭该功能。
http://www.cnblogs.com/colipso/archive/2013/01/27/2878551.html
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ariman911 + 1 + 1 + 1 奖励积极上传好的资料

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

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 22:46