在 R 中使用 xtable-package 形成 LaTeX table 的问题

Problems forming a LaTeX table using xtable-package in R

我想用 R 中的 xtable-package 形成以下 LaTeX-table。

Table 1: 想要 LaTeX table

但是,我不明白如何向 xtable-函数添加多个额外的行以达到 table。

例如使用像这样的简单代码

financial <- c(1.23, 1.19)
  macro <- c(1.50, 1.40)
  X <- rbind(financial, macro)
  colnames(X) <- c("A","B")
X
             A    B
financial 1.23 1.19
macro     1.50 1.40

print(xtable(X), type="latex")

现在,如何向 xtable-函数添加额外的行、对齐方式、hlines(例如,国家/地区、美国、方法等)以实现上述 table?

我已经看过 https://cran.r-project.org/web/packages/xtable/vignettes/xtableGallery.pdf,但没有找到任何明确的问题答案。

如有任何帮助,我们将不胜感激!

这是我的方法(有灵感from

library(xtable)
financial <- c(1.23, 1.19)
  macro <- c(1.50, 1.40)
  X <- rbind(financial, macro)
  colnames(X) <- c("A","B")

addtorow <- list()
addtorow$pos <- list()
addtorow$pos[[1]] <- 0
addtorow$pos[[2]] <- 0
addtorow$pos[[3]] <- 0
addtorow$pos[[4]] <- 0
addtorow$pos[[5]] <- 0
addtorow$pos[[6]] <- 0
addtorow$pos[[7]] <- 0
addtorow$command <- c('Country: & United States & \\\n', 
                      '\hline',
                      'Method: & Regression &  \\\n',
                      '\hline',                      
                      'Models: & RMSE Result &  \\\n',
                      '\hline',
                      '& A & B \\\n')

print(xtable(X), add.to.row = addtorow,  include.colnames = FALSE )

add.to.row 可用于将自定义乳胶代码包含到 xtable 中。

我确实不知道如何在自定义 header 之后放置您的列名 & A & B。我的解决方案是使用 include.colnames = FALSE 并在 add.to.row 中手动插入列 headers。 (也许其他人有更优雅的解决方案?)

结果:

% latex table generated in R 4.0.5 by xtable 1.8-4 package
% Mon Jan 17 14:16:51 2022
\begin{table}[ht]
\centering
\begin{tabular}{rrr}
  \hline
  Country: & United States & \
 \hline Method: & Regression &  \
 \hline Models: & RMSE Result &  \
 \hline & A & B \
 \hline
financial & 1.23 & 1.19 \
  macro & 1.50 & 1.40 \
   \hline
\end{tabular}
\end{table}