vad*_*vad 2 pdf r xtable knitr
我正在尝试cut使用knitr和xtable将生成的freq表输出到PDF文件.但是,当我包含该选项时include.rownames=FALSE,不会处理输出并报告错误,而代码可以使用include.rownames=TRUE.测试代码如下:
\documentclass[12pt]{article}
\begin{document}
<<test_table, results = "asis",echo=FALSE>>=
library(xtable)
x <- sample(10,100,replace=TRUE)
breaks <- c(1,2,5,10)
x.freq <- data.frame(table(cut(x, breaks, right=FALSE)))
print(xtable(x.freq),include.rownames=TRUE)
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
当我使用时,include.rownames=TRUE我得到下面的输出.
1 [1,2] 5
2 [2,5] 35
3 [5,10] 49
而当我使用时,include.rownames=FALSE我得到一个错误:
Test.tex:71:LaTeX错误:输入行58上的\ begin {tabular}以\ end {document}结束.
我相信我得到错误是因为文本源中存在方括号'['.
有谁知道如何解决这个问题?
问题是表中每行的结尾是一个\\可选参数,用于指定在下一行之前留出多少空间,例如\\[1in].允许在\\和之间有空格[,所以在这种情况下,它试图读取该[2,5)参数.
一个简单的解决方法是更改因子的标签,以便首先包含一些非打印空白字符,但是,如果这样做,默认情况下,print.xtable将"清理"它以使其实际打印,因此您需要通过传递新的消毒功能来关闭它; identity将不会做这个修复.
levels(x.freq$Var1) <- paste0("{}", levels(x.freq$Var1))
print(xtable(x.freq),include.rownames=FALSE, sanitize.text=identity)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
964 次 |
| 最近记录: |