使用 mutate 交换列会呈现负差异输出

Using mutate to swap columns renders a negative Difference output

我从上个月开始就在我的报告中使用了 gtsummary 包(顺便说一句,很棒的包)。

现在我正在构建一个队列 table,它将显示预测试值、post-测试值、差异 (p.p) 和 t-测试 p 值。

我正在尝试构建与我在 Arsenal 下构建的相同的 table,第一列是预测试,第二列是 post-测试,依此类推,但是差异列显示了不应该的负输出。

我使用 mutate() 交换两列,因为当我不使用它时,它显示 post-test 作为第一列。我还尝试交换数据集本身第一行的 post-test 列,就像我在某些 post 中读到的那样。但是没有用。

homesurvey %>%
  select(period, CB2.Textbooks, CB2.Magazines, CB2.Newspapers, CB2.Religious_books, CB2.Coloring_books, CB2.Comics) %>%
  mutate(period = forcats::fct_rev(period)) %>%
  tbl_summary(by = period,
              statistic = all_continuous() ~ "{n} ({sd})",
              label = list (CB2.Textbooks ~ "Textbooks",
                            CB2.Magazines ~ "Magazines",
                            CB2.Newspapers ~ "Newspapers",
                            CB2.Religious_books ~ "Religious books",
                            CB2.Coloring_books ~ "Coloring books",
                            CB2.Comics ~ "Comics")
              )%>%
  add_difference() %>%
  modify_column_hide(ci)

它显示负差异,即使它不应该是。

Output

我正在查看您的示例输出(感谢您提供)。第一行显示预评估中的 82% 和 post 评估中的 96%。 82 - 96 = -15%,所以差异确实应该是负数。

但是,您可以通过将估计值乘以 -1 来翻转估计值。示例如下!

library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.5.0'

tbl <- 
  trial %>%
  select(response, death, trt) %>%
  tbl_summary(by = trt, missing = "no") %>%
  add_difference() %>%
  modify_column_hide(ci) %>%
  # you can flip the difference estimate by multiplying it by -1
  modify_table_body(
    ~.x %>%
      dplyr::mutate(estimate = -1 * estimate)
  )

reprex package (v2.0.1)

于 2021-11-10 创建