R******d 发帖数: 1436 | 1 有一个表有4列,分别是N,k,n,x四个的值。好比,
3080419480 426549 244005 74408
3080419480 426549 269777 78775
3080419480 426549 157865 61360
我想用这个4个数算几何分布的累计概率,我这么写的:
data data;
set data;
if K/N>x/n then p=probhypr(N,K,n,x);
else p=1-probhypr(N,K,n,x);
proc sort;
by descending p;
run;
结果报错。估计probhypr里面只允许数字为参数?
请问怎么写才对。多谢 | A*******s 发帖数: 3942 | 2 第一眼看上去,可能的问题出于N和n,sas不区分大小写吧
【在 R******d 的大作中提到】 : 有一个表有4列,分别是N,k,n,x四个的值。好比, : 3080419480 426549 244005 74408 : 3080419480 426549 269777 78775 : 3080419480 426549 157865 61360 : 我想用这个4个数算几何分布的累计概率,我这么写的: : data data; : set data; : if K/N>x/n then p=probhypr(N,K,n,x); : else p=1-probhypr(N,K,n,x); : proc sort;
| A*******s 发帖数: 3942 | 3 我再运行了一下,还是不行。
觉得问题应该在于参数太大
须知超几何分布的概率是要计算阶乘的,
这么大的阶乘没法算
【在 A*******s 的大作中提到】 : 第一眼看上去,可能的问题出于N和n,sas不区分大小写吧
| R******d 发帖数: 1436 | | R******d 发帖数: 1436 | 5 再问一句,如果这样的情况超几何分布算不了,能有什么替代方法?
只能做simulation了? | D******n 发帖数: 2836 | 6 N is big, maybe u can use approximation,
【在 R******d 的大作中提到】 : 再问一句,如果这样的情况超几何分布算不了,能有什么替代方法? : 只能做simulation了?
|
|