【问题标题】:R: Markdown or HTML markup in `gtsummary` tablesR:“gtsummary”表中的 Markdown 或 HTML 标记
【发布时间】:2021-02-15 15:53:23
【问题描述】:

我有一个变量名的表,通常用上标或下标数字拼写。我正在使用 R 包 {gtsummary} 从数据框/tibble 的选定列中自动创建表。

说这是小标题:

library(nycflights13)

lm_1 <- lm(arr_delay ~ air_time, flights)

tbl_1 <- tbl_regression(lm_1, exponentiate = F,
                        label = list(
                            air_time ~ "Air Time"
                        )) %>% 
    add_glance_source_note(include = c('r.squared'))

tbl_1

...但我需要将其写为 Airtime(HTML Air&lt;sup&gt;time&lt;/sup&gt; 或 Markdown Air~time~)。

{gtsummary} 中,在 HTML 或 Markdown 中指定 label 参数对我不起作用:

tbl_1 <- tbl_regression(lm_1, exponentiate = F,
                        label = list(
                            air_time ~ "Air<sup>time</sup>",
                            sched_dep_time ~ "Departure^time^"
                        )) %>% 
    add_glance_source_note(include = c('r.squared'))

我尝试将字符串包装在 gt::html()gt::md() 中,但没有任何改变:

tbl_1 <- tbl_regression(lm_1, exponentiate = F,
                        label = list(
                            air_time ~ html("Air<sup>time</sup>"),
                            sched_dep_time ~ md("Departure^time^")
                        )) %>% 
    add_glance_source_note(include = c('r.squared'))

是否可以在gtsummary 表格中使用 HTML 和/或 Markdown?谢谢!

【问题讨论】:

    标签: r r-markdown gtsummary gt


    【解决方案1】:

    说实话,我不知道为什么这个解决方案有效......但它确实有效! {gt} 包有一个名为 fmt_markdown() 的函数,用于将 markdown 语法转换为指定的输出类型。但是在您的示例中,无法识别降价上标(更多关于为什么在这里https://github.com/rstudio/gt/issues/129#issuecomment-663753251)。 BUUUUT,当我将该函数应用于您的 HTML 标记上标时,它们会被识别,并且您会得到所需的输出。

    library(gtsummary)
    library(nycflights13)
    
    lm_1 <- lm(arr_delay ~ air_time + sched_dep_time , flights)
    
    tbl_regression(lm_1, 
                   label = list(air_time ~ "Air<sup>time</sup>",
                                sched_dep_time ~ "Departure<sup>time</sup>")) %>% 
      add_glance_source_note(include = 'r.squared') %>%
      as_gt() %>%
      gt::fmt_markdown(columns = vars(label))
    

    【讨论】:

    • 嗨@daniel(我无法让用户标记工作)感谢伟大的包和这个技巧,它非常有用。我想知道您是否考虑过这种“黑客”的稳定性。我希望将类似的东西构建到自动化管道中,并想知道这是否可能在未来仍然有效。能够选择基于原始 md/html 呈现单元格内容会很棒,这允许(我实际上正在使用:tab %&gt;% gt::fmt(columns = everything(), fns = function(x) x),它工作得很好。谢谢!
    • 对于一个明确的答案,我会在 gt GitHub 页面上发布一个问题。我不明白为什么它不会在未来发挥作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    相关资源
    最近更新 更多