gpt4 book ai didi

r - 如何使用 kable 将表格中一列中选定行中的文本设为斜体?

转载 作者:行者123 更新时间:2023-12-05 06:35:39 28 4
gpt4 key购买 nike

我正在尝试使用 R 以 LaTeX 格式制作报告。文件格式为 .Rnw。我正在使用 kable 和 kableExtra 包准备一张 table ,但我只有一个问题。

这是我制作的表格的截图:

table in kable

我想将这两个物种(第 1 列的第 1 行和第 2 行)设为斜体。如何制作?

谢谢。

这是数据:

df1 <- data.frame(`Species Name` = c("Encrasicholina punctifer", "Stolephorus indicus", "Others", "Total"),
`2014` = c(171.12, 0, 0.59, 171.72),
`2015` = c(231.18, 3.07, 0.29, 234.55),
`2016` = c(412.1, 0, 0.44, 412.54),
Total = c(814.4, 3.07, 1.33, 818.8),
Percent = c(99.46, 0.38, 0.16, 100))

顺便说一下,这是 R 代码:

\begin{table}[H]
\centering
<<table_2>>=
df1 %>%
kable(format = "latex",
booktabs = T) %>%
kable_styling(latex_options = c("HOLD_position"),
position = "center",
font_size = 9) %>%
row_spec(0, bold = T) %>%
row_spec(4, bold = T)
@
\end{table}

最佳答案

kableExtra 带有一个函数 cell_spec可用于为表格添加额外的样式。但是,与 kable_styling 相比,它必须在调用 kable 函数之前使用。这在此处的指南中进行了解释:https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf

但是,如果您只想编辑几个单独的单元格,我发现最好手动重新格式化数据。如图所示 similar question ,您可以将单元格名称更改为 \textit{YOUR STRING}* 以使单词变为斜体。

我无法让你的 Rnw 文件正常工作,所以这是一个完全可重现的 Rmarkdown .Rmd 文件。 .Rnw 文件原则上的唯一区别是您需要在 LaTeX 命令的格式中添加双反斜杠以确保它们被 pandoc 读取(即 \\textit{ }):

---
output: pdf_document
---

```{r}
df1 <- data.frame(`Species Name` = c("Encrasicholina punctifer", "\\textit{Stolephorus indicus}", "*Others*", "\\textbf{Total}"),
`2014` = c(171.12, 0, 0.59, 171.72),
`2015` = c(231.18, 3.07, 0.29, 234.55),
`2016` = c(412.1, 0, 0.44, 412.54),
Total = c(814.4, 3.07, 1.33, 818.8),
Percent = c(99.46, 0.38, 0.16, 100))
```


```{r}
knitr::kable(df1)
```

enter image description here

Note: I would recommend the use of RMarkdown over .Rnw. You can fully customise the LaTeX template just as you do with the Rnw file, and it is much more supported. Sweave was dropped by the author over 5 years ago: https://yihui.name/knitr/demo/sweave/

关于r - 如何使用 kable 将表格中一列中选定行中的文本设为斜体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49647773/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com