【问题标题】:How to show eta squared in a table summary如何在表格摘要中显示 eta 平方
【发布时间】:2022-01-07 00:02:27
【问题描述】:

尝试按照之前的帖子 (How to add the effect size in the summary table using R package “gtsummary”?) 将 eta 平方效应大小包含在汇总表中,但列始终为空白。

创建的效果大小函数:

my_ES_test <- function(data, variable, by, ...) {
  aovmod = aov(variable ~ by, data = data)
  lsr::etaSquared(aovmod)[1,1]
}

然后尝试将其添加到我们的(诚然,有点复杂)汇总表:

factor_table2 <- data_comp%>% 
  select(Group, F1, F2, F3, F4, H1, H2, H3, E1, E2, E3, K1, K2, Global, eqMMSE)%>% 
  tbl_summary(by = Group ,missing="always",missing_text = "Missing",
                          type = all_continuous() ~ "continuous2",
                          statistic = all_continuous() ~ c("{mean} ({sd})","{median} ({p25}-{p75})"))%>%
  add_p(test = list(all_continuous() ~ "aov", all_categorical() ~ "kruskal.test"),pvalue_fun = ~style_pvalue(.x,digits =2))%>% 
  add_n() %>%
  modify_header(update = list(
                  label ~ "",
                  n ~ "*N*",
                  stat_1 ~ "**CDR = 0** <br> *({n})*",
                  stat_2 ~ "**CDR = 0.5** <br> *({n})*",
                  stat_3 ~ "**CDR > 0.5** <br> *({n})*"
                  ))%>% 
  bold_labels()%>%
  italicize_levels()%>%
  modify_spanning_header(all_stat_cols()~"**Clinical Dementia Rating**")%>%
  add_stat(fns = all_continuous() ~ my_ES_test) %>%
  modify_header(add_stat_1 ~ "**Eta squared**") %>%
  as_gt()
factor_table2

结果表:

如果可能,也希望将缺失计数更改为 %s!

【问题讨论】:

    标签: gtsummary


    【解决方案1】:

    您对 eta 函数的定义似乎存在错误。我已经更新了它,并将它添加到一个简单的tbl_summary()

    library(gtsummary)
    packageVersion("gtsummary")
    #> [1] '1.5.0'
    
    my_ES_test <- function(data, variable, by, ...) {
      aovmod = aov(data[[variable]] ~ data[[by]])
      lsr::etaSquared(aovmod)[1,1]
    }
    
    # test eta function
    my_ES_test(trial, "age", "grade")
    #> [1] 0.003380277
    
    tbl <- 
      trial %>% 
      select(grade, age, marker) %>% 
      tbl_summary(
        by = grade, 
        missing = "no",
        type = all_continuous() ~ "continuous2",
        statistic = 
          all_continuous() ~ c("{mean} ({sd})",
                               "{median} ({p25}, {p75})", 
                               "{N_miss} ({p_miss}%)")
      ) %>%
      add_stat_label(label = all_continuous() ~ c("Mean (SD)", "Median (IQR)", "Missing")) %>%
      add_stat(fns = all_continuous() ~ my_ES_test) %>%
      modify_header(add_stat_1 ~ "**\U03B7\U00B2**")
    

    reprex package (v2.0.1) 于 2022-01-06 创建

    PS 你创造了一张漂亮的桌子!

    【讨论】:

    • 感谢您总是快速而有帮助的回答!我爱gtsummary!您对将缺失计数更改为 %s 有什么建议吗?
    • 表中连续变量的缺失率?目前,这是不可能的。但如果您愿意,可以在 GitHub 页面中提交功能请求
    • 嘿!我更新了示例以包含 % missing。仅供参考
    猜你喜欢
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多