📅  最后修改于: 2023-12-03 15:07:47.519000             🧑  作者: Mango
在 R Markdown 中,表格的位置有时很难控制,在生成文件时可能会导致表格出现在不希望的位置。在本文中,我们将介绍如何强制表格在 R Markdown 中的位置。
kableExtra 包提供了许多强制表格位置的选项。其中,最常用的是 [h] 选项,它将表格定位到当前位置。其他选项包括 [t](将表格定位到页面顶部)和 [b](将表格定位到页面底部)。
library(knitr)
library(kableExtra)
mytable <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(25, 30, 35)
)
kable(mytable, "latex", booktabs = TRUE, caption = "Sample Table") %>%
kable_styling("striped") %>%
footnote("* Age in years.") %>%
add_header_above(c(" " = 1, "Personal Information" = 2)) %>%
pack_rows("Alice", 1, 2) %>%
pack_rows("Bob", 2, 3) %>%
position_hint(hint = 0.5, position = "left") %>%
column_spec(2, width = "2cm") %>%
add_footnote("Source: Author's own work.", general = FALSE) %>%
# 强制表格在当前位置
kable_classic(full_width = FALSE, position = "h!")
上面的代码中,我们使用 kableExtra 包提供的 position = "h!"
选项来强制表格在当前位置。
R Markdown 将代码块中的 LaTeX 代码编译成 PDF 文件时,可使用 LaTeX 包来控制表格的位置。
\begin{table}[h!]
\centering
\begin{tabular}{ c c }
\hline
Name & Age \\ [0.5ex]
\hline\hline
Alice & 25 \\
Bob & 30 \\
Charlie & 35 \\ [1ex]
\hline
\end{tabular}
\caption{Sample Table}
\label{table:sample}
\end{table}
在上面的代码中,我们使用 LaTeX 中的 table
环境来控制表格的位置。选项 [h!]
强制表格在当前位置。
以上两种方法都可以用来强制表格在 R Markdown 中的位置,需要根据具体情况选择合适的方法。