我正在尝试使用xtable
在R中生成一个knitr
的表格。我插入了一个标题和额外的\hline
s。
我正在使用add.to.row
命令将我的标题插入到顶部以及表格的中间。
我似乎无法使hline.after
命令正确。
我希望我的表看起来像两个表(尽管它是一个),在第4行数字之后和第二个标题之前有一个hline。
使用add.to.row
命令后,我似乎无法在那里放线。
有什么建议吗?
\documentclass{article}
\usepackage[margin=.75in]{geometry}
\begin{document}
<<table, results='asis'>>=
require(knitr)
require(xtable)
# Generate some data
set.seed(1683)
dat <- rnorm(48)
tab <- as.data.frame(matrix(dat, nrow=6, ncol=8))
addtorow <- list()
addtorow$pos <- list()
addtorow$pos[[1]] <- 0
addtorow$pos[[2]] <- 0
addtorow$pos[[3]] <- 4
addtorow$pos[[4]] <- 4
addtorow$command <- c(' & & \\multicolumn{2}{c}{Group 1} & \\multicolumn{2}{c}{Group 2} &
\\multicolumn{2}{c}{Group 3} \\\\\n',
" name & $\\hat{\\beta}$ & A & B & A & B & A & B \\\\\n",
" & & & & & & & \\\\\n",
" name & $\\hat{\\sigma}$ & A & B & A & B & A & B \\\\\n")
print(xtable(tab, align="rrccccccc"), add.to.row=addtorow, , include.rownames=FALSE,
include.colnames=FALSE, hline.after = c(-1, 0, 4, nrow(tab)))
@
\end{document}
答案 0 :(得分:4)
尝试添加add.to.row
addtorow <- list()
addtorow$pos <- list()
addtorow$pos[[1]] <- 0
addtorow$pos[[2]] <- 0
addtorow$pos[[3]] <- 4
addtorow$pos[[4]] <- 4
addtorow$pos[[5]] <- 4
addtorow$pos[[6]] <- 4
addtorow$command <- c(' & & \\multicolumn{2}{c}{Group 1} & \\multicolumn{2}{c}{Group 2} &
\\multicolumn{2}{c}{Group 3} \\\\\n',
" name & $\\hat{\\beta}$ & A & B & A & B & A & B \\\\\n",
" \\hline\n",
" & & & & & & & \\\\\n",
" \\hline\n",
" name & $\\hat{\\sigma}$ & A & B & A & B & A & B \\\\\n")
\begin{table}[ht]
\centering
\begin{tabular}{rccccccc}
\hline
& & \multicolumn{2}{c}{Group 1} & \multicolumn{2}{c}{Group 2} &
\multicolumn{2}{c}{Group 3} \\
name & $\hat{\beta}$ & A & B & A & B & A & B \\
\hline
1.28 & -0.71 & 1.30 & -1.08 & -0.32 & -0.84 & -0.75 & 0.67 \\
-0.83 & -0.41 & 0.09 & 0.29 & -0.91 & -0.04 & -1.61 & -0.71 \\
-1.82 & 0.16 & -0.34 & 0.39 & -1.58 & 0.44 & -0.81 & -0.89 \\
-2.03 & 0.30 & 1.27 & -0.46 & -1.02 & 2.98 & -0.34 & -0.75 \\
\hline
& & & & & & & \\
\hline
name & $\hat{\sigma}$ & A & B & A & B & A & B \\
\hline
0.88 & 1.44 & 0.11 & -0.66 & -2.31 & -1.21 & -0.06 & 0.22 \\
0.43 & 1.07 & -1.10 & 0.93 & -0.72 & 1.52 & -1.52 & -0.83 \\
\hline
\end{tabular}
\end{table}