Вставьте таблицу LaTeX в файл .Rnw с помощью RStudio

Я использую RStudio и пишу файл .Rnw, чтобы включить коды LATEX и R. Нужно вставить таблицу, и я использую стандартные коды LATEX в файле .Rnw, например

\begin{table}[t]
\caption{SUMMARY}
\centering
\begin{tabular}{c|c|c|c|c|c}
\toprule
Data & stat1 & stat2 & stat3 & stat4 & stat5 \\
\midrule

itme1 & 36.101954 & 45 & 0.825500 & 0.220198 & 0.293448 \\
item2 & 51.828572 & 45 & 0.224900 & 0.499718 & 0.690064\\
item3 & 53.187455 & 45 & 0.188100 &  0.133086 & 0.603072 \\
item4 & 61.513952 & 45 & 0.051300 & 0.002566 & 0.014714 \\

\bottomrule
\end{tabular}
\label{tab:xxx}
\end{table}

Однако, когда я нажимаю «Скомпилировать PDF» в RStudio, появляется сообщение об ошибке. Я поискал в Интернете информацию о вставке таблиц в файл .Rnw и получил результат использования пакета xtable. Могу ли я использовать для этого стандартные коды LATEX? Спасибо!


person alittleboy    schedule 12.10.2012    source источник
comment
Лучше бы вам показать свой реальный код. Вы можете сократить его до минимального примера, но, например, вы не упоминаете, генерируется ли содержимое вашей первой строки с помощью кода R или вы просто вставляете все вручную ...   -  person Dason    schedule 12.10.2012
comment
@Dason: спасибо, я отредактировал сообщение, чтобы оно было полным.   -  person alittleboy    schedule 12.10.2012
comment
Вы используете \toprule, \midrule, \bottomrule - это означает, что вы используете пакет booktabs. Вы не забыли включить \usepackage{booktabs} в преамбулу?   -  person Dason    schedule 12.10.2012
comment
@Dason: да, я включил этот пакет в свою преамбулу, так что это может не быть проблемой ...   -  person alittleboy    schedule 12.10.2012
comment
Тогда вам обязательно стоит публиковать сообщения об ошибках, которые вы получаете, потому что я могу их скомпилировать. Не помешало бы опубликовать и результаты запуска sessionInfo().   -  person Dason    schedule 12.10.2012
comment
@Dason: спасибо за ваши комментарии :) Сообщение об ошибке, созданное RStudio, совершенно бессмысленно: в нем говорится, что в нескольких местах отсутствует $, но на самом деле (после двойной проверки) такой ошибки нет. Мне просто любопытно, можно ли включать стандартные коды таблиц LATEX в файл .Rnw.   -  person alittleboy    schedule 13.10.2012
comment
Тогда ответ - да - можно. Похоже, ваши ошибки могут быть откуда-то еще в коде? Я не знаю, но я не получаю ошибок только с этой таблицей. Невозможно точно диагностировать, что не так, не просмотрев полный документ, так что ... удачи?   -  person Dason    schedule 13.10.2012
comment
@ Дейсон: большое спасибо за то, что попробовали это для меня. Я помещаю код в новый файл Rnw и запускаю Compile PDF, но все равно получаю то же сообщение об ошибке: отсутствует $. На самом деле в моем файле даже $ нет ... В любом случае, еще раз спасибо :)   -  person alittleboy    schedule 13.10.2012
comment
Это становится слишком много для комментариев, но я сделаю несколько замечаний - отсутствие $ обычно означает, что вы используете некоторую команду, которая должна находиться внутри среды математического типа (как правило, внутри $ _your_commands_here $. вы пробовали просто начать с абсолютных основ в своем документе и постепенно наращивать его, пока не дойдете до ошибки? Если вы попытаетесь запустить весь документ, не выполняя этот процесс, может быть труднее отследить ошибки, но если вы можете сказать, что я знайте, что до этого момента проблемы нет, тогда у вас больше шансов ее найти.   -  person Dason    schedule 13.10.2012
comment
@Dason: да, я попытался удалить окружение таблицы, а потом все компилируется без ошибок. Кажется, также нет проблем с латексной грамматикой таблицы, так что просто любопытно, что пошло не так ... в любом случае, еще раз спасибо за вашу помощь!   -  person alittleboy    schedule 13.10.2012


Ответы (1)


Ответ на вопрос «можем ли мы вставить необработанные латексные коды для создания таблиц в файл .Rnw» - ДА. Наконец я обнаружил, что ошибка возникает из-за подчеркивания: если имя вашего столбца включает _, вам нужно написать \_. В противном случае, когда вы нажмете кнопку «Скомпилировать PDF в RStudio», появятся сообщения об ошибках (а отладить это очень сложно!)

person alittleboy    schedule 14.10.2012
comment
Ах ... ну, у вас не было этого в исходном вопросе, иначе я, вероятно, мог бы сэкономить вам некоторое время;) - person Dason; 14.10.2012
comment
@Dason: да ... Я только что обнаружил эту ошибку, потому что, когда я использую пакет R xtable для генерации кода латекса, я увидел единственную разницу в _! Спасибо, что посмотрели этот пост;) - person alittleboy; 14.10.2012