我必须使用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
我过去曾使用此脚本执行卡方,但现在不起作用。问题出在哪里?
最佳答案
hist2d
对数据进行bin,但是如果某些bin始终为空,
卡方统计未定义(因为被零除)。
您可以尝试减少垃圾箱的数量,
或丢弃空的垃圾箱。
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 )
(从统计角度来看,
我不确定您在做什么是最佳选择。
关于r - 卡方检验用于变量与R的独立性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9544648/