Html Flextable:在数据帧中使用上标

Html Flextable:在数据帧中使用上标,html,markdown,r-markdown,flextable,Html,Markdown,R Markdown,Flextable,这个问题被问了几次,但令人惊讶的是,没有人回答 我希望数据框中的一些数字显示在上标中。 函数compose和display在这里不合适,因为我还不知道数据框中的哪些值将出现在上标中。我的表是自动生成的 我尝试将^8^like用于kable、$$10^-3$$、pasteexpression10^2、H\\textsubscript{123}等 什么都不管用!!帮助我拔出我的头发 library(flextable) bab = data.frame(c( "10\\textsubscript{-

这个问题被问了几次,但令人惊讶的是,没有人回答

我希望数据框中的一些数字显示在上标中。 函数compose和display在这里不合适,因为我还不知道数据框中的哪些值将出现在上标中。我的表是自动生成的

我尝试将^8^like用于kable、$$10^-3$$、pasteexpression10^2、H\\textsubscript{123}等

什么都不管用!!帮助我拔出我的头发

library(flextable)
bab = data.frame(c( "10\\textsubscript{-3}", 
paste(as.expression(10^-3)), '10%-3%', '10^-2^' ))
flextable(bab)

我是从Rto html编织的。

在html中,上标使用-3,下标使用-3。但是,如果您将它们放在表格的单元格中,您将看到显示的全文,它不会被解释为HTML,因为flextable会转义尖括号

kable函数有一个参数escape=FALSE可以关闭此功能,但flextable没有:请参阅。然而,有一种黑客方法可以绕过这个限制:用一个不做任何事情的函数替换htmlEscape函数

比如说,

```{r}
library(flextable)
env <- parent.env(loadNamespace("flextable")) # The imports
unlockBinding("htmlEscape", env)
assign("htmlEscape", function(text, attribute = FALSE) text, envir=env)
lockBinding("htmlEscape", env)
bab = data.frame(x = "10<sup>-3</sup>")
flextable(bab)
``` 

这肯定比我给出的方法更安全。

在HTML中,上标使用-3,下标使用-3。但是,如果您将它们放在表格的单元格中,您将看到显示的全文,它不会被解释为HTML,因为flextable会转义尖括号

kable函数有一个参数escape=FALSE可以关闭此功能,但flextable没有:请参阅。然而,有一种黑客方法可以绕过这个限制:用一个不做任何事情的函数替换htmlEscape函数

比如说,

```{r}
library(flextable)
env <- parent.env(loadNamespace("flextable")) # The imports
unlockBinding("htmlEscape", env)
assign("htmlEscape", function(text, attribute = FALSE) text, envir=env)
lockBinding("htmlEscape", env)
bab = data.frame(x = "10<sup>-3</sup>")
flextable(bab)
``` 

这肯定比我给出的方法更安全。

我很确定你不能这么做。您尝试过使用knitr::kable和kableExtra吗?为什么选择flextable?@user2554330说来话长!我使用flextable是因为我需要合并表中的一些单元格。使用flextable要容易得多。我花了一天时间将代码从kableExtra`更改为flextable。请参阅我的问题和建议。非常感谢你的建议!我很确定你不能那样做。您尝试过使用knitr::kable和kableExtra吗?为什么选择flextable?@user2554330说来话长!我使用flextable是因为我需要合并表中的一些单元格。使用flextable要容易得多。我花了一天时间将代码从kableExtra`更改为flextable。请参阅我的问题和建议。非常感谢你的建议!我添加了另一个解决方案;但在我的例子中,我发现它们很难使用,因为要替换的表达式不在特定的单元格中,而是随机放置在表中。此外,在这些细胞中,除了上标的表达,还有其他信息。我想我可以用gsub创建一个函数,但这将是一项艰巨的工作。无论如何,感谢第二个解决方案:-@FloraGrappelli可能会有所帮助。我添加了另一个解决方案。我观看了这些函数;但在我的例子中,我发现它们很难使用,因为要替换的表达式不在特定的单元格中,而是随机放置在表中。此外,在这些细胞中,除了上标的表达,还有其他信息。我想我可以用gsub创建一个函数,但这将是一项艰巨的工作。无论如何,感谢第二个解决方案:-@FloraGrappelli可能会有所帮助