有一系列工具可用于使用R,Sweave和LaTeX创建发布质量表.特别是,有辅助功能,如latex在Hmisc包,并xtable在该xtable包中.我也经常编写自己的代码,这样我就可以完全控制表格式(例如,参见这个例子).
但是,在准备出版物质量表时,通常会出现一系列问题:
除了指定所需表格格式的高级问题之外,还存在实施问题.
xtable?在我看来,上述问题值得详细的教科书式介绍.
是否有任何在线或离线资源提供如何使用R,Sweave和LaTeX生成出版质量表的详细概述,并解决上述问题?
我正在通过输出数据帧到html xtable.我想在表格的几列中为数字添加逗号.我想在我做自己的粘贴黑客之前,我会检查是否有内置方法来执行此操作.
通过使用xtable和knitr,我将一个表添加到我的RMD文档并导出为PDF文件.
```{r, results='asis'}
library(xtable)
xtable(matrixtable)
````
Run Code Online (Sandbox Code Playgroud)
除了有一条线外,它看起来很棒
% latex table generated in R 3.1.0 by xtable 1.7-3 package % Wed Jun 25 13:34:57 2014
Run Code Online (Sandbox Code Playgroud)
如何删除此行.我试着设置message=FALSE但它不起作用.
我正在使用带有R Markdown和knitr的xtable来生成我用\ input {}调用的.tex文件.效果很好,但我还没有弄清楚如何创建像这里显示的多列.有谁知道怎么做到这个?
到目前为止,我正在使用:
tbl <- xtable(data, align="l r r r r r")
colnames(tbl) <- c("Variable",
"Mean", "Std Dev",
"Mean", "Std Dev",
"Difference")
caption(tbl) <- c("Table Title")
print(tbl,
include.rownames=FALSE,
caption.placement="top",
booktabs=TRUE,
type="latex",
file="output.tex")
Run Code Online (Sandbox Code Playgroud)
我想在每个"Mean"和"Std Dev"("治疗"和"控制")上有一个不同的分组标题.
或者,是否有更好的方法使用R Markdown/knitr自动生成表格?我不想手动编辑表格,因为报告需要自动生成.
更新: @agstudy:我是乳胶新手,但我认为这是我希望用xtable(或类似xtable)自动生成的输出:
\begin{tabular}{lrrrrr}
\toprule
& \multicolumn{2}{c}{Treatment} & \multicolumn{2}{c}{Control} & \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
Variable & Mean & Std Dev & Mean & Std Dev & Difference \\
\midrule
var1 & 1 & 2 & 3 & 4 & 5 \\
\bottomrule …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用xtable从数据框中打印knitr中的表.下面示例中的表的尺寸为3x7,但第三行中的第三行只有一个值.第三行中的其余单元格为"NA".
当我编译文档时,有没有办法防止knitr在第三行打印NA,所以不是NA我只是有空格?
感觉这应该是一个简单的解决方案,但我不知道在哪里/如何隐藏NA的.这是我需要对数据框进行的更改还是我需要更改的xtable或knitr选项?
示例编织代码:
\documentclass{article}
<< data1, echo=FALSE, warning=FALSE, message=FALSE >>=
require(xtable)
FY.2014 <- 0.019
FY.2015 <- ((7000) - (6925.9)) / (6925.9)
FY.2016 <- ((8000) - (7000)) / (7000)
FY.2017 <- ((9000) - (8000)) / (8000)
FY.2018 <- ((10000) - (9000)) / (9000)
FY.2019 <- ((11000) - (10000)) / (10000)
PC <- data.frame(FY.2014, FY.2015, FY.2016, FY.2017, FY.2018, FY.2019)
PC.1 <- paste(round(PC*100, digits=1), "%", sep="")
FY.2014 <- 130.1
FY.2015 <- 7000 - 6925.9
FY.2016 <- 8000 - 7000
FY.2017 <- 9000 …Run Code Online (Sandbox Code Playgroud) 我正在使用Rmd文件创建报告,我使用xtable包来创建表.xtable的输出显示最多2位数的小数位数.有没有办法控制xtable中的小数位?
我在Xtable的Rmd文件中使用的示例代码如下:
```{r, results='asis', message=FALSE, echo=FALSE}
source("../../R code/data analysis.R")
library(xtable)
library(plyr)
table1 <- xtable(t3,caption="Table showing the Mean discharge and mean gage height on each year on each month",digits=NULL)
print.xtable(table1,type="latex",comment = getOption("xtable.comment", FALSE))
```
Run Code Online (Sandbox Code Playgroud)
这个输出如下:

在这里,我不想要年和月的任何小数位数.有没有办法控制这件事?
谢谢.
我正在尝试xtable使用knitr交替的行颜色生成R中的表格.我可以在PDF输出中打印一个表,但不能完全弄清楚手册中的add.to.row命令xtable以及colortbl包.
我正在使用xtable在编译我的TeX文档时自动从R编译表.我的问题是如何将表中的变量名称(在我的情况下是数据帧中的列名称)置于数学模式中.我已将结果存储在数据框adf.results中,基本上我想要的是
colnames(adf.results) <- c(" ", "$m^r_t$", "$\delta p_t$",
"$R^r_t$", "$R^b_t$", "$y^r_t$")
Run Code Online (Sandbox Code Playgroud)
但这只是插入$m^r_t$...作为列名而不将它们解释为数学模式.有没有人有办法解决吗?
我有一个数据帧,我使用xtable 将其放入一个sweave文档,但是我的一个列名很长,我想将它分成两行以节省空间
calqc_table<-structure(list(RUNID = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), ANALYTEINDEX = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), ID = structure(1:11, .Label = c("Cal A", "Cal B", "Cal C",
"Cal D", "Cal E", "Cal F", "Cal G", "Cal H", "Cal High", "Cal Low",
"Cal Mid"), class = "factor"), mean_conc = c(200.619459644855,
158.264703128903, 102.469121407733, 50.3551544728544, 9.88296440865076,
4.41727762501703, 2.53494715706024, 1.00602831741361, 199.065054555735,
2.48063347296935, 50.1499780776199), sd_conc = c(2.3275711264554,
NA, NA, NA, NA, …Run Code Online (Sandbox Code Playgroud) 我正在用knitr在R写一份报告.我正在使用xtable()在报告中生成表.我的一张表包括负数和正数.我想把负数的颜色改成红色.我怎样才能做到这一点?显然,一个简单的解决方案是更改xtable生成的乳胶代码但请注意我有一个自动报告,数字可以随新数据集更改,我不想手动设置颜色.
这是一个简单的代码:
\documentclass{article}
\begin{document}
<<simpleExamp, results=tex, echo=FALSE>>=
library(knitr)
library(xtable)
testMatrix <- matrix(c(sample(-10:10,10)), ncol = 2)
xtable(testMatrix)
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
如何将负数设为红色?谢谢您的帮助.