如何在 R 中将乳胶类型表达式作为列名?

如何在 R 中将乳胶类型表达式作为列名?

我正在使用 kableExtra 包处理许多 kable。假设您有一个数据框 df,它有 5 行和 5 列。

在 R 中,例如,您可以执行 names(df)=c("A","B","C","D","E")。

一旦您拥有像这样的数据框名称设置,您就可以简单地将数据框插入 kable 来制作表格。

我的问题是,我希望某些名称包含其他符号。例如,我希望一个列名称像这样

$\widehat{A}$

即,一个 A,其上方有一个宽帽。

可以这样做吗?如果可以,怎么做?

谢谢

答案1

这是可能的,但是为了传递给 LaTeX\widehat你应该在 Rmarkdown 中用 R \\widehat. MWE 编写:

---
output:
  pdf_document: default
---

```{r test, echo=FALSE}
df <- data.frame(A=c(1,2,4),B=c(6,2,4))
names(df) <- c("$\\widehat{A}$","$\\widehat{B}$")
knitr::kable(df)
```

姆韦

答案2

我想稍后再跟进这个问题。我运行了 Fran 的回答中的代码,效果很好。但有趣的是,我遇到了一个几乎相同的代码的情况

names(total_custom) <- c("Models Tested", "$df_{numerator}$", "$df_{denominator}$", "F value", "p value")

kable(total_custom)

产生以下结果:

错误的 Latex 表

在这种情况下,记住也要更改默认escape = TRUE参数kable()

names(total_custom) <- c("Models Tested", "$df_{numerator}$", "$df_{denominator}$", "F value", "p value")

kable(total_custom,
      escape = FALSE)

进而产生以下结果:

修正 latex 表

据我所知,当您没有在方程指示符后立即$添加指示符时,就会出现这种\情况。请注意,使用其他方程指示符(例如\(或 )时,此问题仍然存在\begin{math}

相关内容