chisq.test()用于凝视点的过渡矩阵

时间:2014-06-05 15:59:08

标签: r matrix dataframe transition chi-squared

所有

我正在尝试在转换矩阵中对眼睛数据执行chisq.test(),其中每行表示从7个感兴趣区域(AoI)的一个区域到其他每个区域的凝视记录。在这种分析中,从一个AoI到自身的过渡是没有意义的。因此,这些字段包含NA。

我尝试过各种不同的格式,从8列和行的基本表格输入(顶行是标题,左列是“from”),到(来自,来自, ,值。)。

我的data.frame看起来像这样:

from <- c("frLS", "frLF", "frRF", "frRS", "frIns", "frEng", "frOthr")
frLS <- c(NA, 77,3, 0, 17, 0, 1)
frLF <- c(18, NA, 14, 1, 56, 2, 9)
frRF <- c(1, 52, NA, 15, 16, 1, 14)
frRS <- c(0, 7, 35, NA, 13, 15, 30)
frIns <- c(3, 54, 2, 1, NA, 4, 37)
frEng <- c(0, 9, 0, 3, 27, NA, 61)
frOthr <- c(2, 60, 2, 5, 27, 4, NA)

aoi.df <- data.frame(from, frLS, frLF, frRF, frRS, frIns, frEng, frOthr)

(请注意,这不是实际数据,而是从Holmqvist等人的眼动追踪教科书中获取的示例数据。)

注意我也尝试过这个矩阵

aoi.matrix <- matrix(c(frLS, frLF, frRF, frRS, frIns, frEng, frOthr), ncol=7)

但我相信问题是NAs不是数据的形式,但如果是这样,我不知道如何处理它。

2 个答案:

答案 0 :(得分:0)

NA确实是问题所在。错误信息非常明确:

> chisq.test(aoi.matrix)
Error in chisq.test(aoi.matrix) : 
  all entries of 'x' must be nonnegative and finite

如果有意义的话,你需要用NA替换其他内容,比如0

现在,我不太了解你的问题。但你确定chisq.test是你想要做的吗?这对我没有任何意义。回想一下,您正在测试独立性。但是,如果对角线元素始终为零或NA,则它们不能独立。

答案 1 :(得分:0)

好的,这是如何使用NA处理chisq.test。当我问这个问题时,我不知道的一件事是我的矩阵中的NA是所谓的“结构零”。因此,它们不是零,因为“零”是一个计数,也不是数据收集中的一些无法解释的昙花一现。相反,它们来自数据集的结构。在转换矩阵的情况下,我们不允许从对象“A”到其自身的转换,仅允许从其他对象转换。

所有这些都说,事实证明当然有一个R包!我需要向您推荐aylmer文档以获得更详细的解释,但我几乎得到了我希望chi.square会给我的信息:

aylmer.test(aoi.df,alternative =“two.sided”,simulate.p.value = TRUE)

请注意,我确实必须删除“from”名称的第一列,但除此之外一切正常。