r - Sweave 中的 xtable : specify toprule or midrule in a table + alignement

标签 r latex sweave xtable

我正在使用 R 中的 Sweave 生成​​自动报告。我想:

  1. 在位置 (nrow -1) 我想要一个 toprule 而不是 midrule
  2. 将第一行居中对齐,然后我想将数字右对齐以便对齐数字。

这是我的代码:

\documentclass[a4paper,18pt]{article}
\usepackage[top=2.5cm, left=2.5cm, right=2.5cm,bottom=2.5cm]{geometry}
\usepackage{Sweave} 
\usepackage{booktabs}
\makeatletter
  \def\hrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@}
\makeatother
\begin{document}
\SweaveOpts{concordance=TRUE}

<<xtable1, results=tex,echo=FALSE>>=
library(xtable)

> data
          l w  a m
x     NA  515.0 0.22 127.83
y     NA   75.0 0.45  33.75
z     NA   85.0 0.45  38.25


xtab <- xtable(data)
hline <- c(-1,0,nrow(xtab)-1,nrow(xtab))
align(xtab) <- "lcccc"
print(xtab,booktabs=T,hline.after=hline)
@


\end{document} 

最佳答案

来自documentation ,将 add.to.rowhline.after=NULL 结合使用,以控制从 hline 向量添加到行的内容。

library(xtable)
xtab <- xtable(data)

hline <- c(-1,0,nrow(xtab)-1,nrow(xtab))
htype <- c("\\toprule ", "\\midrule ", "\\toprule ","\\bottomrule ")

print(xtab,add.to.row = list(pos = as.list(hline),
                             command = htype),
      hline.after = NULL)

数据

data <- structure(list(l = c(NA, NA, NA), w = c(515, 75, 85), a = c(0.22, 
0.45, 0.45), m = c(127.83, 33.75, 38.25)), class = "data.frame", row.names = c("x", "y", "z"))

关于r - Sweave 中的 xtable : specify toprule or midrule in a table + alignement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42872403/

相关文章:

javascript - 按下按钮时更改 LaTeX

latex - 在 LaTeX\part 页面上书写文本

r - Latex和R之间的工作流程

r - 用knitr为R代码输入行号

r - 如何在创建自己的函数时处理 NA

r - 对相似因素进行分组 - 填充 ggplot2

Vim latex 套件 : Display inline-math delimiters ($$)

r - 将 Matchit 中的 SMD 提取到 gtsummary 中

r - 从一年中的第几周获取月份

Sweave 中的 R 代码