我必须使用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/

10-12 18:57