gpt4 book ai didi

r - 对多个变量执行卡方检验并提取 R 中的相关 p 值

转载 作者:行者123 更新时间:2023-12-04 02:22:57 25 4
gpt4 key购买 nike

好的,直接回答问题。我有一个包含大量分类变量的数据库。

具有以下几个变量的示例数据库

gender <- as.factor(sample( letters[6:7], 100, replace=TRUE, prob=c(0.2, 0.8) ))    
smoking <- as.factor(sample(c(0,1),size=100,replace=T,prob=c(0.6,0.4)))
alcohol <- as.factor(sample(c(0,1),size=100,replace=T,prob=c(0.3,0.7)))
htn <- as.factor(sample(c(0,1),size=100,replace=T,prob=c(0.2,0.8)))
tertile <- as.factor(sample(c(1,2,3),size=100,replace=T,prob=c(0.3,0.3,0.4)))
df <- as.data.frame(cbind(gender,smoking,alcohol,htn,tertile))

我想使用卡方检验来检验这个假设,即吸烟者、酒精使用、高血压 (htn) 等的比例存在差异(3 个因素)。然后我想提取每个变量的 p 值。

现在我知道我可以使用 2 x 3 交叉表来测试每个单独的变量,但是有没有更有效的代码可以一次性导出所有变量的测试统计量和 p 值,并提取每个变量的 p 值

提前致谢

阿诺普

最佳答案

如果你想在一个语句中进行所有的比较,你可以这样做

mapply(function(x, y) chisq.test(x, y)$p.value, df[, -5], MoreArgs=list(df[,5]))
# gender smoking alcohol htn
# 0.4967724 0.8251178 0.5008898 0.3775083

当然,以这种方式进行测试在统计上有些低效,因为您在这里进行了多次测试,因此需要进行一些校正以保持适当的 1 类错误率。

关于r - 对多个变量执行卡方检验并提取 R 中的相关 p 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26107287/

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