2013-10-24 5 views
6

Unter Ubuntu 10.04.4, mit Python 2.6.5, NumPy und SciPy, ist es möglich, einen Chi-Quadrat-Test der Unabhängigkeit zu tun? In R ist dies achieved mit dem folgenden:Chi Square Test der Unabhängigkeit in Python

> row1 = c(91,90,51) 
> row2 = c(150,200,155) 
> row3 = c(109,198,172) 
> data.table = rbind(row1,row2,row3) 
> chisq.test(data.table) 

Wie kann ich dies in Python?

+2

@larsmans: Nein, ich glaube nicht, dass ein Duplikat ist. Dies ist ein anderer Test, der 'chi2_contingency' verwendet. Diese Frage verwendet beobachtete und erwartete Werte. – SabreWolfy

+1

Bitte beachten Sie, dass dies kein Duplikat ist, wie oben in der Anmerkung erwähnt, da verschiedene Chi-Quadrat-Tests beteiligt sind. – SabreWolfy

+2

Diese Frage wurde fälschlicherweise zu einem Duplikat gemacht. – VividD

Antwort

7
from scipy.stats import chi2_contingency 

row1 = [91,90,51] 
row2 = [150,200,155] 
row3 = [109,198,172] 
data=[row1,row2,row3] 
print chi2_contingency(data) 

Ausgang:

(25.085973274234959, 4.8346447416999636e-05, 4, array([[ 66.77631579, 93.10526316, 72.11842105], 
     [ 145.35361842, 202.66447368, 156.98190789], 
     [ 137.87006579, 192.23026316, 148.89967105]])) 

R Ausgang:

 Pearson's Chi-squared test 

data: data.table 
X-squared = 25.086, df = 4, p-value = 4.835e-05 
+0

SciPy in Ubuntu 10.04.4 hat keine 'chi2_contingency'. Die Verwendung von "import scipy.stats" in Kubuntu 13.10 funktioniert jedoch. Die Zeile, die 'chi2' startet, funktioniert jedoch nicht. – SabreWolfy

+0

Was ist die Version von scipy, die Sie verwenden? Meine ist '0.10.1'. –

+1

Ubuntu 10.04 ist mehrere Jahre alt, und SciPy Entwicklung geht ziemlich schnell voran. –