每次我尝试使用来自R的块代码在Texmaker中运行Latex文档时,我都会收到错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每次我尝试使用来自R的块代码在Texmaker中运行Latex文档时,我都会收到错误相关的知识,希望对你有一定的参考价值。

我遵循以下指南: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中运行任何包?

答案

从(A)R代码和/或乳胶“代码”到(B)html或PDF文档是一个多部分过程。首先,要编译文档,您需要运行R代码并将结果(以及可能的原始R代码)转换为Latex引擎可以理解的内容。然后,您需要像编辑普通的Latex文档一样编译Latex代码。 R包knitr将处理第1步;像pdflatex这样的东西会处理第2步.RStudio可以自动化这个过程,只需点击一个按钮就可以完成第1步和第2步。

现在,您正在尝试执行第2步而不先执行第1步,这是因为Texmaker不知道您键入的某些内容是R代码。

一个“修复”是在RStudio中使用“R Sweave”文档。打开RStudio并创建一个新的R Sweave文档:

enter image description here

然后像普通乳胶文档一样编写文档,但也可以在<<>>=@之间添加R代码。完成后,单击“编译PDF”,RStudio将为您完成两个(knitr / pdflatex)步骤。

enter image description here

RStudio网站有一个很好的tutorial与RMarkdown这样做。你想做同样的事情,但用乳胶代替降价,但我想这本教程仍然会有所帮助。

如果您遇到错误:转到工具>全局设置> Sweave并确保前两个下拉菜单设置为您想要的(第一个下拉列表的“knitr”和第二个下拉列表的“pdfLaTeX”)。

以上是关于每次我尝试使用来自R的块代码在Texmaker中运行Latex文档时,我都会收到错误的主要内容,如果未能解决你的问题,请参考以下文章

R:循环处理大数据集(GB)的块?

CUDA 中的块减少

在代码中运行使用设计器制作的 QTabWidget

在 Elastic Beanstalk 中运行时出现 Sequelize 迁移错误

IDEA / CFB模式解密和损坏的块

写作Texlive和Texmaker学习