Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当tex有方括号([)时,如何使用knitr/xtable输出为pdf?_R_Pdf_Knitr_Xtable - Fatal编程技术网

当tex有方括号([)时,如何使用knitr/xtable输出为pdf?

当tex有方括号([)时,如何使用knitr/xtable输出为pdf?,r,pdf,knitr,xtable,R,Pdf,Knitr,Xtable,我试图使用knitr和xtable将cut生成的频率表输出到PDF文件中。但是,当我包含选项include.rownames=FALSE时,不会处理输出并报告错误,而代码使用include.rownames=TRUE。测试代码如下: \documentclass[12pt]{article} \begin{document} <<test_table, results = "asis",echo=FALSE>>= library(xtable) x <- sam

我试图使用knitr和xtable将
cut
生成的频率表输出到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}
\documentclass[12pt]{article}
\开始{document}
=
图书馆(xtable)

x问题在于,表中每一行的末尾都是一个
\\
,它有一个可选参数来指定在下一行之前要留出多少空间,例如,
\[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)

levels(x.freq$Var1)一个简单的手动解决方法是为您的
cut
函数提供
标签。一个输入错误-我想您的意思是
include.rownames=FALSE
,对吧?解决方案工作得非常完美。