Я получаю сообщение об ошибке каждый раз, когда пытаюсь запустить свой латексный документ в Texmaker, используя фрагмент кода из R - PullRequest
0 голосов
/ 30 августа 2018

Я следую следующему руководству: https://joshldavis.com/2014/04/12/beginners-tutorial-for-knitr/

Я установил пакет knitr и запустил его в R, и я пытаюсь скопировать и вставить пример по ссылке выше:

From ISLR: Chapter 3, Problem 14.

Using a created simulated data, answer the questions regarding simple
linear regression.

<<>>=
# Ensure consistent values
set.seed(1)

# Create uniform distribution for first input
x1 <- runif(100)

# Normal distribution for second input
x2 <- 0.5 * x1 + rnorm(100) / 10

# Our Linear Model
y <- 2 + (2 * x1) + (.3 * x2) + rnorm(100)
@

Однако, когда я пытаюсь запустить его, я получаю следующую ошибку в Latex:

! You can't use `macro parameter character #' in horizontal mode.
l.30 #
       Ensure consistent values
? 

Я не совсем уверен, что я здесь делаю не так? Есть ли какой-нибудь пакет, который я должен запустить в Latex?

1 Ответ

0 голосов
/ 30 августа 2018

Переход от (A) R-кода и / или латексного «кода» к (B) документу HTML или PDF является многоэтапным процессом. Во-первых, чтобы скомпилировать ваш документ, вам нужно запустить свой R-код и превратить результаты (и, возможно, оригинальный R-код) в нечто, понятное движку Latex. Затем вам нужно скомпилировать этот латексный код так же, как и обычный латексный документ. Пакет R knitr будет обрабатывать шаг 1; что-то вроде pdflatex будет обрабатывать шаг 2. RStudio может автоматизировать процесс, так что оба шага 1 и 2 выполняются одним нажатием одной кнопки.

В данный момент вы пытаетесь выполнить шаг 2, не выполняя сначала шаг 1, и это потому, что Texmaker не знает, что некоторые из введенных вами данных - это код R.

Одним из "исправлений" является использование документа "R Sweave" в RStudio. Откройте RStudio и создайте новый документ R Sweave:

enter image description here

Затем напишите свой документ так же, как обычный латексный документ, но вы также можете добавить код R между <<>>= и @. И когда вы закончите, нажмите «Компилировать PDF», и RStudio позаботится об обоих шагах (knitr / pdflatex).

enter image description here

На веб-сайте RStudio есть хорошее руководство для этого с RMarkdown. Вы хотите сделать то же самое, но с латексом вместо уценки, но я думаю, что этот урок, тем не менее, будет полезен.

Если вы столкнетесь с ошибками: перейдите в Инструменты> Глобальные настройки> Sweave и убедитесь, что первые два выпадающих меню настроены на то, что вы хотите (скорее всего, «knitr» для первого выпадающего меню и «pdfLaTeX» для второго.

...