Knitr PDF确定,但没有内容和错误消息

时间:2014-02-03 06:05:14

标签: r knitr

从现在开始的Appologies,仍然围绕R和RStudio中的所有功能,所以有些人可能会认为我是一个完全白痴问这个。顺便说一句:我已将R生产的一些东西从德语翻译成英语。

我在MAC OS X版本10.8.5上运行RStudio版本0.97.551。

我正在尝试使用knitr编译PDF。我安装了knitr,使用library()运行它并将我的工作目录设置为与我的默认工作目录相同的目录,该目录也是包含我用作数据集的.txt文件的文件夹。并选择knitr作为编织Rnw文件的默认值。 然后,我从http://tug.org/mactex/morepackages.html安装了MacTex basic,用于我的LaTex,它是TeXLive(2013)的子集。

到目前为止一切顺利。

然后我打开一个新的Sweave文件,RStudio已经认识到我正在使用某种形式的TeX程序,然后插入以下内容:

\documentclass{article}

\begin{document}
\title{My first Knitr Output File}
\author{Oliver M. Fisher, MD}
\maketitle{BMI Category Crosstabulation}
<<>>=
attach(MIC1ELISANEW)
tab1=table(BMICat, Diagnosis)
tab1
summary(tab1)
@

<<>>=
tab1=table(MIC1ELISANEW$BMICat, MIC1ELISANEW$Diagnosis)
summary(tab1)
@

\end{document}

点击“编译PDF”,它会给我这个日志

grDevices::pdf.options(useDingbats = FALSE); require(knitr); opts_knit$set(concordance =TRUE);     knit('Example.Rnw')
Opening packet: knitr
Warning:
Packet ‘knitr’ was developed under R Version 3.0.2


processing file: Example.Rnw
  |.............                                                    |  20%
  ordinary text without R code

  |..........................                                       |  40%
  label: unnamed-chunk-1
  |.......................................                          |  60%
  ordinary text without R code

  |....................................................             |  80%
  label: unnamed-chunk-2
  |.................................................................| 100%
  ordinary text without R code


output file: Example.tex

[1] "Example.tex"
> 
> 
Running pdflatex on Example.tex...completed

Created PDF: ~/Documents/Australia/AMR : Gastro/Papers/Oliver/MIC1/Datasets/ELISA/Example.pdf

并打开一个PDF,看起来如下(“nicht gefunden”在英语中的意思是“未找到”):

我的第一个Knitr输出文件

Oliver M. Fisher,医学博士2014年2月3日

BMI类别交叉制表

连接(MIC1ELISANEW)

Error:  Objekt ’MIC1ELISANEW’ nicht gefunden

tab1 = table(BMICat,诊断)

Error:  Objekt ’BMICat’ nicht gefunden

TAB1

Error:  Objekt ’tab1’ nicht gefunden

摘要(TAB1)

Error:  Objekt ’tab1’ nicht gefunden

tab1 = table(MIC1ELISANEW $ BMICat,MIC1ELISANEW $ Diagnosis)

Error:  Objekt ’MIC1ELISANEW’ nicht gefunden

摘要(TAB1)

Error:  Objekt ’tab1’ nicht gefunden

我尝试通过以下方式输入R代码:a)从R脚本文件复制和粘贴它,从RStudio控制台复制并粘贴它,并通过点击RStudio中的图标将其发送到“源”历史窗口。什么都行不通。 如果有人能告诉我我做错了什么,我会非常感激。

谢谢,

奥利弗

P.S。我试过张贴图片,但没有足够的声誉这样做.......

1 个答案:

答案 0 :(得分:3)

使用compilePDF按钮使用Rscript运行脚本,但在Rstudio中看到的全局环境中无效。

因此,您的脚本无法读入或加载MIC1ELISANEW,因此错误。


更新

knitr的主要目的之一是可重现的数据分析,因此,.Rnw文件或其集合包含要重现的所有信息是明智的。报告/分析。

因此,您的.Rnw文件应创建所需的所有对象。

只需添加所需的代码即可。例如:

\documentclass{article}

\begin{document}
\title{My first Knitr Output File}
\author{Oliver M. Fisher, MD}
\maketitle{BMI Category Crosstabulation}

<<>>=
# load the required data
MIC1ELISANEW <- read.table('relativepathtofile')
@

<<>>=
attach(MIC1ELISANEW)
tab1=table(BMICat, Diagnosis)
tab1
summary(tab1)
@

<<>>=
tab1=table(MIC1ELISANEW$BMICat, MIC1ELISANEW$Diagnosis)
summary(tab1)
@

\end{document}