R data.frame 与 xtable 的 latex 输出的堆叠指定标题

标签 r latex

> w<-data.frame(c(0,0,1,1.3,2.1), c(0,0.6,0.9,1.6091,1.6299), c(258,141,206.4,125.8,140.5), c(162,162.7,162.4,162,162))
> colnames(w) <- c('Worst Cum', 'Best Cum', 'Worst Points', 'Best Points' )

错误(代码)

  Worst Cum Best Cum Worst Points Best Points
1       0.0   0.0000        258.0       162.0
2       0.0   0.6000        141.0       162.7
3       1.0   0.9000        206.4       162.4
4       1.3   1.6091        125.8       162.0
5       2.1   1.6299        140.5       162.0

目标:如何?

            CUM                    Points
        Worst Best          Worst       Best 
1       0.0   0.0000        258.0       162.0
2       0.0   0.6000        141.0       162.7
3       1.0   0.9000        206.4       162.4
4       1.3   1.6091        125.8       162.0
5       2.1   1.6299        140.5       162.0

-------------- 示例(如果您知道上述问题的解决方案,则需要进一步阅读) --------------

试验 1:因许多数据帧而失败

> a<-data.frame(c(0,0,1,1.3,2.1), c(0,0.6,0.9,1.6091,1.6299)) 
> b<-data.frame(c(258,141,206.4,125.8,140.5), c(162,162.7,162.4,162,162))
> c<-data.frame(cbind(a,b))
> colnames(c) <- c('Cum', 'Points')
> colnames(a) <- c('Worst', 'Best')
> colnames(b) <- c('Worst', 'Best')

> xtable(c)
% latex table generated in R 2.13.1 by xtable 1.6-0 package
% Thu Nov 24 03:43:34 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrrrr}
  \hline
 & Cum & Points & NA & NA \\ 
  \hline
1 & 0.00 & 0.00 & 258.00 & 162.00 \\ 
  2 & 0.00 & 0.60 & 141.00 & 162.70 \\ 
  3 & 1.00 & 0.90 & 206.40 & 162.40 \\ 
  4 & 1.30 & 1.61 & 125.80 & 162.00 \\ 
  5 & 2.10 & 1.63 & 140.50 & 162.00 \\ 
   \hline
\end{tabular}
\end{center}
\end{table}

> xtable(a)
% latex table generated in R 2.13.1 by xtable 1.6-0 package
% Thu Nov 24 03:45:06 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
  \hline
 & Worst & Best \\ 
  \hline
1 & 0.00 & 0.00 \\ 
  2 & 0.00 & 0.60 \\ 
  3 & 1.00 & 0.90 \\ 
  4 & 1.30 & 1.61 \\ 
  5 & 2.10 & 1.63 \\ 
   \hline
\end{tabular}
\end{center}
\end{table}

这是错误的,因为它用更高级别的 header nb "NA"vals 替换了内部 header 。

最佳答案

Hmisc 包中的latex 函数可以解决这个问题。这是代码(确保在序言中包含 \usepackage{booktabs} 以获得更好的表格格式)

library(Hmisc)
latex(w, file = "", booktabs = TRUE, title = "", cgroup = c('Cum', 'Points'), 
  colheads = rep(c('Worst', 'Best'), 2))

enter image description here

关于R data.frame 与 xtable 的 latex 输出的堆叠指定标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251306/

相关文章:

latex - 如何在 Latex 中打破列表到页面?

R:删除嵌套的 for 循环以使自定义 Bootstrap 更有效

R 文档,如何强制 Rcmd Rd2pdf 自动中断示例 R 部分中的过满行?

重新编码(汽车包)函数 - 重新编码参数和等号

r - 在 ggplot2 : How to add an extra variable with a different scale? 中绘制多个密度

html - Markdown 中有没有办法为 HTML 符号或 LaTeX 命令创建别名?

latex - 在 Bokeh 轴标签中使用 latex

r - knitr 和 UTF8 编码

r - Data.frame 使用来自另一个 data.frame(如 Excel "criteria table")的条件转换数据

r - strsplit 成可变数量的列