R中是否存在双向比例比较,如prop.test?

时间:2015-03-05 22:08:15

标签: r statistics two-way

我希望将实验的比例与2×2因子设计进行比较。我使用R作为我的统计数据。

我知道如何比较两个比例,或者使用prop.test对许多比例进行类似ANOVA的测试。

例如,

num_positive = c(10, 30)
num_total = c(100,180)
prop.test(x = num_positive, num_total)

或单向ANOVA情况:

num_positive = c(10, 30, 80)
num_total = c(100,180, 200)
prop.test(x = num_positive, num_total)

但我不知道如何以双向情况做到这一点。 prop.test不接受任何类型的模型结构,数据是比例数据,因此使用ANOVA进行分析是没有意义的。

理想情况下,我想要一个像这样的功能:

num_positive = c(10, 30, 80, 100)
num_total = c(100,180, 200, 200)
factorA = c("A","A","B","B")
factorZ = c("Z","Y","Z","Y")

prop.test(cbind(num_positive, num_total) ~ factorA * factorZ)

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

据我所知,没有办法完全按照你的想法去做 - 即以这种方式比较比例。

但是,您可以使用cbind将比例组合成一个变量,然后将其包含在广义线性模型(glm)中,例如

y <- cbind(num_positive, num_total)

然后你可以将y变量与你的因子进行比较,例如

model <- glm(y ~ factorA * factorZ, binomial)

我建议阅读在glm中使用的正确链接函数,还要考虑是否将您的因子作为分类(级别)变量输入。