带Rmarkdown的gt表中的数学单位
我有一个带Rmarkdown的gt表中的数学单位,r,r-markdown,kable,gt,R,R Markdown,Kable,Gt,我有一个dataframe: df = data.frame(a = c("$B_{a}$", "$m^{a}$")) 当我使用r标记中的kable创建表格时,如下所示: df %>% knitr::kable() 然后将它编织成一个pdf文档,我得到如下信息: 这正是我所期望的 现在,我想用包gt复制相同的表。当我这样做时: library(gt) df %>% gt() 我明白了: 我还需要做什么才能使gt表“理解”这些是数学符号
dataframe
:
df = data.frame(a = c("$B_{a}$", "$m^{a}$"))
当我使用r标记中的kable
创建表格时,如下所示:
df %>% knitr::kable()
然后将它编织成一个pdf文档,我得到如下信息:
这正是我所期望的
现在,我想用包gt
复制相同的表。当我这样做时:
library(gt)
df %>% gt()
我明白了:
我还需要做什么才能使gt
表“理解”这些是数学符号?和
与gt
一起工作。一个选项是使用str\u remove/str\u replace
fromstringr
用html语法替换原始数据集列中的字符
library(gt)
library(stringr)
library(dplyr)
df %>%
mutate(a = str_remove_all(a, "[{}$]") %>%
str_replace_all( c('(.)_(.)', "(.)\\^(.)"),
c("\\1<sub>\\2</sub>", "\\1<sup>\\2</sup>"))) %>%
gt() %>%
fmt_markdown(columns = everything())
库(gt)
图书馆(stringr)
图书馆(dplyr)
df%>%
突变(a=str_remove_all(a,“[{}$]””)%>%
str\u replace\u all(c(“(”)),“(”)\ ^(”)”,
c(“\\1\\2”,“\\1\\2”))%>%
gt()%>%
fmt_标记(列=所有内容())
-输出
和
与gt
一起工作。一个选项是使用str\u remove/str\u replace
fromstringr
用html语法替换原始数据集列中的字符
library(gt)
library(stringr)
library(dplyr)
df %>%
mutate(a = str_remove_all(a, "[{}$]") %>%
str_replace_all( c('(.)_(.)', "(.)\\^(.)"),
c("\\1<sub>\\2</sub>", "\\1<sup>\\2</sup>"))) %>%
gt() %>%
fmt_markdown(columns = everything())
库(gt)
图书馆(stringr)
图书馆(dplyr)
df%>%
突变(a=str_remove_all(a,“[{}$]””)%>%
str\u replace\u all(c(“(”)),“(”)\ ^(”)”,
c(“\\1\\2”,“\\1\\2”))%>%
gt()%>%
fmt_标记(列=所有内容())
-输出
对于gt
您可能需要sup
,例如df1 df1%%>%gt()%%>%fmt\u标记(columns=everything())
@akrun,因为我不知道html
我不喜欢这样做。你认为这是唯一的方法吗?我认为fmt\u标记
遵循标记语法。您想将原始数据语法转换为我展示的语法吗您可能需要sup
forgt
例如df1%>%gt()%%>%fmt\u标记(columns=everything())
@akrun因为我不知道html
我不喜欢这样做。你认为这是唯一的方法吗?我认为fmt\u标记
遵循标记语法。您想将原始数据语法转换为我展示的语法吗?对于我展示的过于简化的示例,这确实有效,但事实上,我有许多列具有许多值(3-4页A4),具有不同类型的非常复杂的物理单位,不一定像我展示的示例。@bird好的,如果您有多个列,使用mutate(跨(yourcolumns,.
并对所选列进行转换。我展示了一种方法,可以将原始示例转换为gt
可以使用的格式work@bird否则,如果您有很多更改,那么可能必须用html标记重写它。我同意您建议的方法适用于我发布的这个特定问题d、 但是我觉得使用这种方法,我必须学习html
,并做很多不同的html
标记来分别更改每个单元(因为它们不遵循相同的模式)@bird您对此的预期解决方案是什么。问题的目的是自动转换kable代码还是在GT中解析当前版本。这对于我展示的过于简化的示例确实有效,但实际上,我有许多列,其中包含许多值(3-4页A4)使用不同类型的非常复杂的物理单元,这些物理单元不一定像我展示的这个示例。@bird好的,如果有多个列,请使用mutate(跨(yourcolumns,.
并对所选列进行转换。我展示了一种方法,可以将原始示例转换为gt
可以使用的格式work@bird否则,如果您有很多更改,那么可能必须用html标记重写它。我同意您建议的方法适用于我发布的这个特定问题d、 但是我觉得使用这种方法,我必须学习html
,并做很多不同的html
标记来分别更改每个单元(因为它们不遵循相同的模式)@bird您对此的预期解决方案是什么。问题的目的是自动转换kable代码还是在gt的当前版本中进行解析