用R确定变量独立性的卡方检验

时间:2012-03-03 08:24:28

标签: r statistics

我必须用R做两个物理变量的卡方检验。我正在尝试:

Library('MASS')
Library('gplots')
data<-read.table('data.dat',head=F) 
pp<-hist2d(data$V2,data$V3)
chisq.test(pp$counts)

但是R说我:

Pearson's Chi-squared test

    data:  pp$counts 
    X-squared = NaN, df = 240, p-value = NA

我在过去使用过这个脚本来执行chi square但现在它不起作用。问题出在哪儿?

1 个答案:

答案 0 :(得分:3)

hist2d对数据进行分类,但如果某些分箱总是空的, chi平方统计量没有定义(因为除以零)。 您可以尝试减少垃圾箱数量, 或丢弃空的箱子。

library(gplots)
d <- data.frame( rnorm(100), rnorm(100) )

# Discard empty bins
p <- hist2d(d)
i <- apply( p$counts, 1, sum ) > 0
j <- apply( p$counts, 2, sum ) > 0
chisq.test( p$counts[i,j] )

# Reduce the number of bins
p <- hist2d(d,nbins=5)
chisq.test( p$counts )

(从统计角度来看, 我不确定你所做的是最优的。)