Ошибка с функцией R при использовании Knitr в Lyx
Я получаю сообщение об ошибке при использовании функции summary() с использованием Knitr в Lyx. Функции, предшествующие этому, работают.
<<>>=
library(faraway)
head(teengamb)
mdl <- lm(gamble ~ sex + status, data=teengamb)
summary(mdl)
@
Я ввожу этот код через Insert Tex Code в Lyx. Я только что проверил, я могу запустить резюме (teengamb), но не резюме (MDL). Оба кода работают в RStudio.
Ошибка "Неопределенная последовательность управления" с описанием "\end{verbatim} ..."
1 ответ
Эта проблема была решена в knitr
после версии 1.1. Вам не нужно ничего менять в LyX или R. На данный момент вы можете установить версию для разработки из:
install.packages('knitr', repos = 'http://www.rforge.net/')
Пожалуйста, игнорируйте оба ответа ниже:
Я наконец выяснил причину этой ошибки (это самая глубокая ошибка, которую я когда-либо видел). Это потому что upquote
пакет не работает, если T1
кодировка объявляется после загрузки, например
\documentclass{article}
\usepackage{upquote}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\begin{document}
\begin{verbatim}
'
\end{verbatim}
\end{document}
Но если мы переедем upquote
после fontenc
, оно работает:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{upquote}
\begin{document}
\begin{verbatim}
'
\end{verbatim}
\end{document}
Или просто не используйте кодировку T1 - снимите флажок перед кодировкой шрифта в настройках:
Причина, по которой пользователи Ubuntu не смогли воспроизвести проблему, заключалась в том, что upquote.sty
был из дерева texmf R вместо того, что в TeXLive, и версия R upquote
работает.
Другой способ решить эту проблему - добавить текстовое дерево R в MikTeX под Windows.
Пожалуйста, игнорируйте ответ ниже:
поскольку options(show.signif.stars = FALSE)
сработало, я выкладываю это как один из возможных ответов, но это все еще очень странная проблема для меня. настройка show.signif.stars = FALSE
удаляет коды значимости из результатов ниже (которые были из summary(mdl)
):
Call:
lm(formula = gamble ~ sex + status, data = teengamb)
Residuals:
Min 1Q Median 3Q Max
-35.873 -15.755 -3.007 10.924 111.586
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 60.2233 15.1347 3.979 0.000255 ***
sex -35.7094 9.4899 -3.763 0.000493 ***
status -0.5855 0.2727 -2.147 0.037321 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 27.99 on 44 degrees of freedom
Multiple R-squared: 0.2454, Adjusted R-squared: 0.2111
F-statistic: 7.154 on 2 and 44 DF, p-value: 0.002042
Ошибка пришла с линии Signif. codes
, и я не понимаю, почему любой из этих символов может вызвать ошибки в LaTeX: все они являются ASCII и должны работать внутри verbatim
среда.
Из приведенных выше комментариев ни @mrdwab, ни я не смогли воспроизвести проблему. Я предполагаю, что в установке OP LaTeX должно быть что-то странное.