【发布时间】:2021-05-05 16:14:12
【问题描述】:
我一直在使用 R 函数 gtsummary,但现在遇到了一个问题,即变量存在于彼此的子集中。我有两个筛查测试可以相互独立,这造成了将 by = 与 tbl_summary 一起使用的问题。这导致我创建了两个单独的表并将它们与 tbl_merge 函数结合起来。
但是,我想计算测试之间差异的 p 值。有什么方法可以使用 table_merge 格式的对象来执行此操作,或者从中提取信息并计算我需要的统计信息?
根据请求,我从 mtcars 数据库中发布一个代码示例。
示例代码 --------------------------------------------- ---------------
data(mtcars)
mtcars_tab <- mtcars %>%
mutate(
drat_4 = ifelse(drat >= 4, 1, 0),
wtp_3 = ifelse(wt >= 3, 1, 0),
testp = ifelse(drat_4 == 1 | wtp_3 == 1, 1, 0)) %>%
select(testp,vs,am)
tab <-
tbl_summary(mtcars_tab,
missing = "no",
by = testp
) %>%
add_p
tab
我想要的是将表格拆分为 drat_4 为正的一列和 wtp_3 为正的另一列,但由于它们重叠,我很难做到这一点。此外,然后我将比较 drat_4 和 wtp_3 的阳性情况的变量,并将 p 值添加到表中。对不起,如果这令人困惑。我会尽力澄清!
非常感谢您的帮助!
【问题讨论】:
-
chisq.test()可能是您正在寻找的。您能否提供数据和代码以使我们能够重新创建您的问题?使用dput(your_data),将输出复制并粘贴到您的问题中,以便轻松与他人共享 R-Objects。 -
如果您发布可重现的示例,包括我们可以在我们的机器上运行的数据和代码,我们可以提供帮助。还请包括计算差异测试的代码。
-
感谢@DanielD.Sjoberg 和 Till 的回复!我添加了代码并阐明了示例。如果我能进一步澄清这个问题,请告诉我。