【问题标题】:Using Chi-Square in R Correctly [duplicate]在R中正确使用卡方[重复]
【发布时间】:2021-12-20 12:57:24
【问题描述】:

我正在尝试使用卡方检验和不同调查答案的交叉表。答案是分类的,但它们用数字表示。

下面是一个例子:

         1  2   3   4   
    1   368 768 346 155 
    2   213 598 286 140 
    3   528 2047 1293 501 
    4   910 2953 1764 806 
    5   1579 7448 7489 4259 
    6   961 4851 6481 7944 

我尝试了几个 chisq.test 的示例,但每次都遇到错误消息。我认为理想情况下我想为每种可能性循环运行测试(见下面的代码)。

CHIS <- lapply(df[,-1], function(x) chisq.test(Q5_Q8.1[,1], x))

使用上面的这段代码,我得到了以下错误:“卡方近似可能不正确。”

我还是 R 新手,还在学习如何进行大量统计,因此任何能以最佳方式解决此问题的帮助都会很棒。提前谢谢!

【问题讨论】:

  • 该消息是警告,而不是错误。
  • 在测试中你有dfQ5_Q8.1,是哪个?

标签: r crosstab chi-squared


【解决方案1】:

卡方检验实际上是两种不同类型的检验。一种是拟合优度检验,它需要两个变量或一个变量和一个分布。这是您使用问题代码进行的测试。

但是您要求进行交叉表测试。然后只传递一个有 2 列的表。

CHIS <- lapply(seq_along(Q5_Q8.1)[-1], function(i) 
  chisq.test(Q5_Q8.1[c(1, i)]))

数据

Q5_Q8.1 <-
structure(list(`1` = c(368L, 213L, 528L, 910L, 1579L, 961L), 
    `2` = c(768L, 598L, 2047L, 2953L, 7448L, 4851L), `3` = c(346L, 
    286L, 1293L, 1764L, 7489L, 6481L), `4` = c(155L, 140L, 501L, 
    806L, 4259L, 7944L)), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6"))

【讨论】:

  • 这成功了!为了回答您的问题 df = Q5_Q8.1,我只是忘记在我的问题中输入 df 而不是向量名称。非常感谢您的回复!
猜你喜欢
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 2015-12-25
  • 1970-01-01
  • 2021-07-15
  • 2011-12-31
  • 2014-05-29
相关资源
最近更新 更多