胶水不能将函数插入字符串。 * object 'n' 是一个函数

glue cannot interpolate functions into strings. * object 'n' is a function

我喜欢 gtsummary。我写了很多报告,喜欢我漂亮的桌子!

我 运行 在更新时遇到了问题。 我刚刚更新为使用 all_stat_cols(TRUE) 而不是 stat_by。 我在添加整体时尝试包含 {level} 或 {n} 时遇到错误。

如果不包含 stat_0,它会起作用,所以我尝试使用 all_stat_cols(FALSE) 和一个单独的 stat_0 ~ "Total n = {n}",但是收到错误“错误:胶水无法将函数插入字符串。*对象 'n' 是一个函数。”

这个有效:

 nr %>%
  select(gender, year) %>%
     tbl_summary (by = gender, missing = "no")  %>%
  bold_labels() %>%
  add_overall(last=TRUE) %>%
  modify_footnote(update = everything() ~ NA) %>%
  modify_header(update = list(label ~ "",
                all_stat_cols(FALSE) ~ "{level}\n n = {n}\n"))

但我也希望我的总人数像这样更改为“Total n = 17”:

nr %>%
  select(gender, year) %>%
     tbl_summary (by = gender, missing = "no")  %>%
  bold_labels() %>%
  add_overall(last=TRUE) %>%
  modify_footnote(update = everything() ~ NA) %>%
  modify_header(update = list(label ~ "",
                all_stat_cols(FALSE) ~ "{level}\n n = {n}\n",
                stat_0 ~ "Total\n = {n}"))

但是得到这个错误:

Error: glue cannot interpolate functions into strings. * object 'n' is a function.

我也想删除第一行(年级),如果有人也知道该怎么做的话!

任何帮助或想法将不胜感激。

您好!你得到错误的原因是因为 little n 代表 by= 组中的,而 big N 是总数观察。当您尝试在整个列的 header 中使用小 n 时,您会收到错误消息,因为它未定义。

把小的n改成大的N,就大功告成了!示例如下!

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

tbl <-
  trial %>%
  select(trt, age, grade) %>%
  tbl_summary(by = trt, missing = "no") %>%
  add_overall() %>%
  modify_header(
    update = list(label ~ "",
                  all_stat_cols(FALSE) ~ "{level}\n n = {n}\n",
                  stat_0 ~ "Total\n = {N}")
  )

reprex package (v2.0.0)

创建于 2021-06-01