2013-10-24 10 views
6

In Ubuntu 10.04.4, utilizzando Python 2.6.5, NumPy e SciPy, è possibile eseguire un test chi quadrato dell'indipendenza? In R, questo è achieved con il seguente:Chi Square Test of Independence 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) 

Come posso fare questo in Python?

+2

@larsmans: No, non credo che sia un duplicato. Questo è un test diverso, usando 'chi2_contingency'. Quella domanda usa valori osservati e attesi. – SabreWolfy

+1

Si prega di notare che questo non è un duplicato, come ho indicato nella nota sopra, poiché sono coinvolti diversi test del chi quadrato. – SabreWolfy

+2

Questa domanda è stata erroneamente duplicata. – VividD

risposta

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) 

uscita:

(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 Uscita:

 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 non ha 'chi2_contingency'. Tuttavia, l'uso di "import scipy.stats" in Kubuntu 13.10 funziona. La linea che inizia con 'chi2' non funziona, tuttavia. – SabreWolfy

+0

qual è la versione di scipy che stai utilizzando? Il mio è '0.10.1'. –

+1

Ubuntu 10.04 ha diversi anni e lo sviluppo di SciPy procede abbastanza rapidamente. –