2015-07-16 2 views
1

Im, используя Hmisc в файле rmarkdown. когда я создаю таблицу, это то, что я делаюHmisc latex fuction необходимо удалить первую строку

--- 
output: pdf_document 
--- 

```{r Arrests Stats, results ='asis', message = FALSE, warning = FALSE, echo = FALSE} 

# render the table 

options(digits=1) 
library(Hmisc) 
latex(head(mtcars), file="") 

``` 

Выходной латекс имеет первый ряд, показывающий, как показано ниже

%latex.default(cstats, title= title.... 
\begin{table}... 
. 
. 
. 
\end{tabular} 

Обратите внимание на «%» Мне нужно выяснить, чтобы удалить первую строку в качестве он отображается в PDF-документе, когда его соткано

+0

Я тоже проверил с помощью «stargazer», и есть строка кода с '%'. Очень странно, что '%' является комментарием для LaTeX, поэтому с опцией 'asis' chunk его следует игнорировать. Возможно, это ошибка. Вы используете knitr в Rstudio? – SabDeM

+0

Во всяком случае, есть решение [здесь] (http://stackoverflow.com/questions/24400308/how-to-remove-the-lines-in-xtable-table-output-by-knitr) с 'xtable'. – SabDeM

ответ

1

Похоже, что это жестко закодировано в latex.default ((cat("%", deparse(sys.call()), "%\n", file = file, append = file != "", sep = "") находится в теле, без условного окружения).

Я думаю, что ваше лучшее предположение тогда было бы capture.outputcat -d выход и вырезать комментарий самостоятельно.

cat(capture.output(latex(head(mtcars), file=''))[-1], sep='\n') 

В capture.output ловит весь материал, который latex(...)cat s, то [-1] удаляет первую строку (являющуюся «% latex.default»), то cat выводит все остальное, с новой строки разделителем.

Вы можете определить свой собственный mylatex, чтобы сделать это, и быть немного более умным (например, вместо слепого снятия первой строки вывода, вы можете его разбить только в том случае, если он начинался с «%»).

mylatex <- function (...) { 
    o <- capture.output(latex(...)) 
    # this will strip /all/ line-only comments; or if you're only 
    # interested in stripping the first such comment you could 
    # adjust accordingly 
    o <- grep('^%', o, inv=T, value=T) 
    cat(o, sep='\n') 
} 
mylatex(head(mtcars), file='') 
Смежные вопросы