gpt4 book ai didi

r - 为什么 chisq.test 的 2 个输出在 R 中不同

转载 作者:行者123 更新时间:2023-12-04 10:53:23 25 4
gpt4 key购买 nike

以下,当数据实际上相同时,为什么 2 chisq.test 的输出不同:

> df1
count position
1 1 11
2 6 12
3 12 13
4 23 14
5 27 15
> df2
count position
1 1 11
2 4 12
3 9 13
4 24 14
5 24 15
> mm = merge(df1, df2, by='position')
> mm
position count.x count.y
1 11 1 1
2 12 6 4
3 13 12 9
4 14 23 24
5 15 27 24

第一种方法:

> chisq.test(mm[2:3])

Pearson's Chi-squared test

data: mm[2:3]
X-squared = 0.6541, df = 4, p-value = 0.9569

Warning message:
In chisq.test(mm[2:3]) : Chi-squared approximation may be incorrect

第二种方法:

> chisq.test(df1$count, df2$count)

Pearson's Chi-squared test

data: df1$count and df2$count
X-squared = 15, df = 12, p-value = 0.2414

Warning message:
In chisq.test(df1$count, df2$count) :
Chi-squared approximation may be incorrect
>

编辑:回复评论:以下看起来相同:

> mm[2:3]
count.x count.y
1 1 1
2 6 4
3 12 9
4 23 24
5 27 24
>

> mm[,2:3]
count.x count.y
1 1 1
2 6 4
3 12 9
4 23 24
5 27 24

数据:

> dput(df1)
structure(list(count = c(1L, 6L, 12L, 23L, 27L), position = 11:15), .Names = c("count",
"position"), class = "data.frame", row.names = c(NA, -5L))
> dput(df2)
structure(list(count = c(1L, 4L, 9L, 24L, 24L), position = 11:15), .Names = c("count",
"position"), class = "data.frame", row.names = c(NA, -5L))

最佳答案

参见 ?chisq :在第一种情况下,将 mm[2:3] 作为列联表,在第二种情况下,计算列联表。

chisq.test(table(df1$count, df2$count))

Pearson's Chi-squared test

data: table(df1$count, df2$count)
X-squared = 15, df = 12, p-value = 0.2414

Warning message:
In chisq.test(table(df1$count, df2$count)) :
Chi-squared approximation may be incorrect

所以,真的,你是这个表的计算 chisq :

     1 4 9 24
1 1 0 0 0
6 0 1 0 0
12 0 0 1 0
23 0 0 0 1
27 0 0 0 1

关于r - 为什么 chisq.test 的 2 个输出在 R 中不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26909628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com