table 中每一行的 R 卡方检验(3x2 偶然性 table)

R chi squared test (3x2 contingency table) for each row in a table

我有一个数据框,想对每一行(3x2 意外事件 table)执行卡方检验。

因此,对于第一行,应对以下意外事件执行卡方检验 table;

我使用以下代码,但这并没有计算出正确的 p 值(所有 p 值都等于零,而当我自己计算卡方检验时情况并非如此):

table <- read.delim("dataframe.txt")
apply(table, 1, function(x) chisq.test(matrix(x,nrow=3)))

谁能帮我解决这个问题?

提前致谢

万尼斯

使用ncol代替nrow

apply(table, 1, function(x) chisq.test(matrix(x,ncol=3)))

目前,您正在为第一行构建如下所示的矩阵:

102 3264
4998 105
105 3636

当 R 从向量构建矩阵时,它按列构建它们,因此第二个值进入第二行,依此类推。

此外,如果您希望它只报告 p 值,您可以执行以下操作:

apply(table, 1, function(x) chisq.test(matrix(x,ncol=3))$p.value)