首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R和Python中的G-test (比例的两个样本测试)

R和Python中的G-test (比例的两个样本测试)
EN

Stack Overflow用户
提问于 2018-11-06 03:37:21
回答 1查看 998关注 0票数 1

我在R和Python中进行G测试,我得到了不同的结果,我在Python中得到的结果是错误的。不知何故,我误用了这个公式。

数据包括:

代码语言:javascript
复制
prfs
Sex F   M
Pref        
B   29  17
A   2   12

R代码是:

代码语言:javascript
复制
library(RVAideMemoire)
G.test(prfs)
G-test

data:  prfs
G = 11.025, df = 1, p-value = 0.0008989

Python代码是:

代码语言:javascript
复制
stats.power_divergence(prfs, lambda_ = 'log-likelihood')
Power_divergenceResult(statistic=array([28.14366538,  0.86639163]), pvalue=array([1.12635722e-07, 3.51956200e-01]))

stats.power_divergence(prfs, lambda_ = 'log-likelihood', axis = None, ddof = 2)
Power_divergenceResult(statistic=29.07673602201342, pvalue=6.956736686069527e-08)
EN

回答 1

Stack Overflow用户

发布于 2019-05-19 00:24:34

这是一个古老的问题,但下面的答案可能会有所帮助:

代码语言:javascript
复制
obs = np.array([[29,17], [2,12]])
# G test with scipy: 
from scipy.stats import * 
g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")
print("G={}; df={}; P={}".format(g, dof, p))

输出:

代码语言:javascript
复制
G=8.859368223179882; df=1; P=0.0029158847773319975

所得结果与用R法得到的结果基本一致。

上面方法的引用是here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53161070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档