在 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}
我想用 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}