从现在开始的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。我试过张贴图片,但没有足够的声誉这样做.......
答案 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}