我必须用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但现在它不起作用。问题出在哪儿?
答案 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 )
(从统计角度来看, 我不确定你所做的是最优的。)