R、knitr、xtable,同时使用 add.to.row 和 hline.after
R, knitr, xtable, using both add.to.row and hline.after
我正在尝试使用 knitr
在 R 中使用 xtable
生成 table。我插入了一个 header 和额外的 \hline
。
我正在使用 add.to.row
命令在顶部以及 table 的中间插入我的 header。
我似乎无法正确使用 hline.after
命令。
我希望我的 table 看起来像两个 table(虽然它是一个),在第 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}
尝试在 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}
我正在尝试使用 knitr
在 R 中使用 xtable
生成 table。我插入了一个 header 和额外的 \hline
。
我正在使用 add.to.row
命令在顶部以及 table 的中间插入我的 header。
我似乎无法正确使用 hline.after
命令。
我希望我的 table 看起来像两个 table(虽然它是一个),在第 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}
尝试在 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}