楼主: zhangyao9026
13668 20

[原创博文] sas中如何编程得到标准正态分布表和怎么得到卡方分布表? [推广有奖]

  • 0关注
  • 0粉丝

大专生

16%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
479 点
帖子
55
精华
0
在线时间
35 小时
注册时间
2009-10-14
最后登录
2018-7-9

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助!!!!非常急
哪位高手能来指点一下啊
sas中如何编程得到标准正态分布表和怎么得到卡方分布表?
二维码

扫码加我 拉你入群

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

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

关键词:标准正态分布 正态分布 卡方分布 分布表 非常急 正态分布 如何

回帖推荐

fdmilei 发表于9楼  查看完整内容

卡方分布的就通过下面的程序,df是自由度~~把上面的probnorm改一下就好了~~ probchi(x,df) 比如想要自由度为1的就是 probchi(x+0.00,1); probchi(x+0.01,1); 。。。。。。 办法有点儿笨,但是能做出精确到0.01的分位数的表~~呵呵~~

fdmilei 发表于7楼  查看完整内容

data Normtable; format x 4.2 _00 _01 _02 _03 _04 _05 _06 _07 _08 _09 6.4; do x=0 to 3 by 0.1; _00=probnorm(x+0.00); _01=probnorm(x+0.01) ; _02=probnorm(x+0.02) ; _03=probnorm(x+0.03) ; _04=probnorm(x+0.04) ; _05=probnorm(x+0.05) ; _06=probnorm(x+0.06) ; _07=probnorm(x+0.07) ; _08=probnorm(x+0.08) ; _09=probnorm(x+0.09); output; end ...

bobguy 发表于2楼  查看完整内容

1# zhangyao9026 Using SAS functions of probnorm and probchi. Here is an example. 19 data _null_; 20 do x=-3 to 3 by 0.5; 21 p=probnorm(x); 22 put x= @10 p= 10.8; 23 end; 24 run; x=-3 p=0.00134990 x=-2.5 p=0.00620967 x=-2 p=0.02275013 x=-1.5 p=0.06680720 x=-1 p=0.15865525 x=-0.5 p=0.30853754 x=0 p=0.50000000 x=0.5 p=0. ...

本帖被以下文库推荐

沙发
bobguy 发表于 2009-12-31 13:17:11 |只看作者 |坛友微信交流群
1# zhangyao9026

Using  SAS functions of probnorm and probchi. Here is an example.

19   data _null_;
20      do x=-3 to 3 by 0.5;
21          p=probnorm(x);
22          put x= @10 p= 10.8;
23     end;
24   run;

x=-3     p=0.00134990
x=-2.5   p=0.00620967
x=-2     p=0.02275013
x=-1.5   p=0.06680720
x=-1     p=0.15865525
x=-0.5   p=0.30853754
x=0      p=0.50000000
x=0.5    p=0.69146246
x=1      p=0.84134475
x=1.5    p=0.93319280
x=2      p=0.97724987
x=2.5    p=0.99379033
x=3      p=0.99865010
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds


25
26   data _null_;
27      do x=0 to 6 by 0.5;
28          p=probchi(x, 1);
29          put x= @10 p= 10.8;
30     end;
31   run;

x=0      p=0.00000000
x=0.5    p=0.52049988
x=1      p=0.68268949
x=1.5    p=0.77932864
x=2      p=0.84270079
x=2.5    p=0.88615370
x=3      p=0.91673548
x=3.5    p=0.93863117
x=4      p=0.95449974
x=4.5    p=0.96610515
x=5      p=0.97465268
x=5.5    p=0.98098353
x=6      p=0.98569412
NOTE: DATA statement used (Total process time):
      real time           0.12 seconds
      cpu time            0.01 seconds
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

藤椅
爱萌 发表于 2009-12-31 14:17:46 |只看作者 |坛友微信交流群
没有什么难的,2楼给出拉,自己修改就是了
最恨对我说谎或欺骗我的人

使用道具

板凳
百炼沉默 发表于 2010-1-1 11:36:43 |只看作者 |坛友微信交流群
3楼说的轻巧,其实我看就知道你不会,别来瞎参合,有种把程序写出来!2楼只是把sas日志窗口的内容复制出来,还“没有什么难的,2楼给出拉,自己修改就是了”····对你无语

使用道具

报纸
百炼沉默 发表于 2010-1-1 11:38:18 |只看作者 |坛友微信交流群
data work;
do x=0 to 3.49 by 0.01;
   
    z=CDF(‘normal’, x, 0.1);

      output;
  
   end;
run;
proc print ;
run;
这里有一个报错:sas系统说 “名称 ‘normal’ 不是有效的 SAS 名称”
需要进一步修改

使用道具

地板
zhangyao9026 发表于 2010-1-1 11:59:16 |只看作者 |坛友微信交流群
谢谢大家!!这个好像还是不行啊

使用道具

7
fdmilei 发表于 2010-1-1 23:51:07 |只看作者 |坛友微信交流群
data Normtable;
        format x 4.2 _00 _01 _02 _03 _04 _05 _06 _07 _08 _09 6.4;
        do x=0 to 3 by 0.1;
           _00=probnorm(x+0.00);
           _01=probnorm(x+0.01) ;
           _02=probnorm(x+0.02)  ;
           _03=probnorm(x+0.03)  ;
           _04=probnorm(x+0.04)  ;
           _05=probnorm(x+0.05)  ;
           _06=probnorm(x+0.06)  ;
           _07=probnorm(x+0.07)  ;
           _08=probnorm(x+0.08)  ;
           _09=probnorm(x+0.09);
        output;
        end;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

8
fdmilei 发表于 2010-1-1 23:52:01 |只看作者 |坛友微信交流群
继续上楼,下面是输出文件的程序。。。文件路径自己改好就行~~
proc export  data=work.Normtable
        outfile="E:\study\大三上\统计软件\Ex10\Normtable.txt"
        dbms=tab  replace;
        putnames=yes;
run;

使用道具

9
fdmilei 发表于 2010-1-1 23:56:40 |只看作者 |坛友微信交流群
卡方分布的就通过下面的程序,df是自由度~~把上面的probnorm改一下就好了~~
probchi(x,df)
比如想要自由度为1的就是
probchi(x+0.00,1);
probchi(x+0.01,1);
。。。。。。
办法有点儿笨,但是能做出精确到0.01的分位数的表~~呵呵~~
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

10
fdmilei 发表于 2010-1-2 00:01:32 |只看作者 |坛友微信交流群
继续解释一下,生成的数据集的第一列是x十分位之前的取值,上面_00 _01 _02 _03 _04 _05 _06 _07 _08 _09
的变量名是0.01,0.02.。。的意思~~
比如x取0.3,纵坐标是_04,对应的就是0.34的分布函数取0.34时的值~~~

使用道具

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

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

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

GMT+8, 2024-4-28 21:42