我试图将Stata程序反向工程为SAS,而我在Stata中遇到gammap
函数时出现问题以及它与SAS中的相关性。从Stata文档中可以看出,gammap
函数返回累积的gamma分布。
测试数据:
PSCORE PALPHA PBETA
0.032352097 21.4639 0.002864125
0.030794526 21.4639 0.002864125
0.032952468 21.4639 0.002864125
0.041141297 21.4639 0.002864125
0.033376449 21.4639 0.002864125
0.032352097 5.7865 0.005516187
0.030794526 5.7865 0.005516187
0.032952468 5.7865 0.005516187
0.041141297 5.7865 0.005516187
0.033376449 5.7865 0.005516187
所以在Stata计划中,我有:
RESULT = gammap(PALPHA,PSCORE/PBETA)
我在SAS中将其翻译为CDF
函数的一部分:
RESULT = CDF('GAMMA',PALPHA,PSCORE/PBETA);
然而,结果并不匹配,所以我的理论是错误的。
的Stata:
0.0045025
0.0025791
0.0055082
0.0474779
0.0063245
0.5680494
0.5214182
0.5854155
0.7804033
0.5974566
SAS:
0.99394
0.99605
0.99291
0.95694
0.99209
0.54212
0.58959
0.52384
0.29454
0.51097
有人可以提供有关正确相关SAS代码可能是什么以及我在使用CDF
功能时出错的地方的见解吗?我应该不使用CDF
功能吗?
答案 0 :(得分:1)
SAS CDF功能为Gamma分配采用2个参数。
data have;
input PSCORE PALPHA PBETA;
datalines;
0.032352097 21.4639 0.002864125
0.030794526 21.4639 0.002864125
0.032952468 21.4639 0.002864125
0.041141297 21.4639 0.002864125
0.033376449 21.4639 0.002864125
0.032352097 5.7865 0.005516187
0.030794526 5.7865 0.005516187
0.032952468 5.7865 0.005516187
0.041141297 5.7865 0.005516187
0.033376449 5.7865 0.005516187
;
data want;
set have;
result = cdf('gamma',pscore,palpha,pbeta);
run;
WANT中的结果似乎与您的STATA结果一致。