全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
12910 15
2011-06-20
悬赏 300 个论坛币 已解决
有无办法使输出的P值的小数点位数按照自己需要的保留并输出,比如t检验,F检验(方差分析)、卡方检验、秩检验等?谢谢高手指点!

最佳答案

bobguy 查看完整内容

See example below, data t1; do i=1 to 30; x=rannor(123);e=rannor(123); y=1+1*x+rannor(123); output; end; run; proc template; define column Common.pValue; notes "Default p-value column"; just = r; format = pvalue16.14; end; run; proc reg data=t1; model y=x; run; quit; proc univariate data=t1; var x e; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2011-6-20 04:30:10
See example below,

data t1;
  do i=1 to 30;
    x=rannor(123);e=rannor(123);
y=1+1*x+rannor(123);
output;
  end;
run;

proc template;
   define column Common.pValue;
      notes "Default p-value column";
      just = r;
      format = pvalue16.14;
   end;
run;

proc reg data=t1;
model y=x;
run;
quit;

proc univariate data=t1;
var x e;
run;
二维码

扫码加我 拉你入群

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

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

2011-6-20 07:17:30
可以使用proc template试试
二维码

扫码加我 拉你入群

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

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

2011-6-20 07:22:27
可以参照下面SAS的User's Guide:
http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_ods_sect005.htm
二维码

扫码加我 拉你入群

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

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

2011-6-20 08:05:23
对于这个问题,很大部分由计算机的变量的空间分配以及数据的处理,算法决定的。对于一般的电脑对于变量分配的空间最多10个字节,精度可以达到小数点前16位,小数点后6位。除非你用大型计算机或者超级计算机精度可以继续提高。在计算机可以达到的精度水平比如小数点后6位,这是你无法超越的,而计量软件肯定在这个精度范围内,你看看有没有给出小数点7位的?都在计算机的精度运算精度以内
二维码

扫码加我 拉你入群

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

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

2011-6-20 08:23:52
谢谢4楼!但是我会给你例子说明,实际情况不是这样的,例子如下
data a;                                          /*这个程序输出的P=0.007526135,为小数点后9位*/
p=1-probchi(7.1429,1);
put p=;
run;
proc print ;
var p;
run;


data a;
p=(1-probt(abs(1.812),10))*2;                           /*这个程序输出的P=0.10008,为小数点后5位*/
put p=;
run;
proc print ;
var   p;
run;

还有一个普遍存在的事实,当你用SPPS算出P值,虽然表面上P值也只保留3到5位,但是当你双击P值,进入数据编辑框时,我每一次都发现这时的P值保留的小数位都大于6位(我以前碰到这种情况起码有1000次);
所以还望高手指点,谢谢!!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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