gt表-单元格中的换行符

问题描述

我尝试使用R gt软件包在gt单元中强制换行。在gt文档中,描述了使用cols_label()

对列标签进行的操作
 # example
 gt_tbl %>%
  cols_label(
    col = html("text1,<br>text2")
   )

但是在单元格中,我找不到方法。我尝试通过添加\ n或
而不成功。

library(gt)

# dummy data
dat <- tibble(
  a=1:3,b=c("a","b c","d e f")
)

# A tibble: 3 x 2
      a b    
  <int> <chr>
1     1 a    
2     2 b c  
3     3 d e f

# with \n
dat %>% 
  mutate(b=str_replace_all(b," ","\n")) %>% 
  gt()

# with <br>
dat %>% 
  mutate(b=str_replace_all(b,"<br>")) %>% 
  gt()

始终生成相同的表:

enter image description here

预期结果:

enter image description here

有什么想法吗?

谢谢

解决方法

我们需要致电fmt_markdown,如下所示:

使用 fmt_markdown()时,在渲染期间,传入单元格中任何Markdown格式的文本都会转换为适当的输出类型。

dat %>% 
  mutate(b = str_replace_all(b," ","<br>")) %>% 
  gt() %>% 
  fmt_markdown(columns = TRUE)

enter image description here


或解决方法:拆分为新行,然后调用gt()

dat %>% 
  separate_rows(b) %>% 
  mutate(a = ifelse(duplicated(a),"",a)) %>% 
  gt()

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...