当我在RStudio中编译我的.rnw
文件并创建一个pdf时,.tex / .pdf中有一些错误的内联值。我试图创建一个问题的通用示例,但我不能在一个新的例子中重现它。所以我的问题有一些具体的问题。我希望读者可以帮助我解决问题的过程。我尝试过的任何东西似乎都没有用。
我将从我的工作示例开始,因为它演示了我的整体设置:
\documentclass[11pt,fullpage,titlepage]{article}
\title{Test}
\begin{document}
\bibliographystyle{apalike}
\maketitle
<<setup, include=FALSE>>=
# set working directory
wd <- "/Users/ericpgreen/Desktop/test/"
setwd(wd)
# rnw file saved in "/Users/ericpgreen/Desktop/test/scripts"
# load packages
require(knitr)
require(formatR)
# set chunk options
opts_knit$set(root.dir = '../') # up one level from scripts folder
@
Create data
<<data>>=
set.seed(1)
dat <- data.frame(v1 = rnorm(10),
v2 = factor(sample(c(0,1), 10, replace=TRUE)),
v3 = rnorm(10),
v4 = rnorm(10) )
mean.v1 <- mean(dat$v1)
mean.v1
@
mean is equal to \Sexpr{mean.v1}
\end{document}
同样,这个例子有效。 R中的mean.v1对象等于0.1322028,这是编译文档时出现在\ Sexpr {mean.v1}处的值。
在我的情况下(此处未显示),R对象的值与编译文档时\ Sexpr {}替换的值不匹配。 R对象rr.ipt.init
的正确值为1.4。
但是,当文档编译以下行时:
A relative risk of \Sexpr{round(rr.ipt.init, digits=2)}
我的值为1.92。
关于这个错误值来自哪里的任何想法?我已经清除了缓存,清除了工作区,重新启动了R,但我无法获取文档来编译rr.ipt.init
的正确值。
sessionInfo() R版本3.0.1(2013-05-16) 平台:x86_64-apple-darwin10.8.0(64位)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] splines parallel compiler grid stats graphics grDevices utils datasets methods
[11] base
other attached packages:
[1] survival_2.37-4 reshape2_1.2.2 mice_2.17 nnet_7.3-6 experiment_1.1-1
[6] boot_1.3-9 compute.es_0.2.1 corpcor_1.6.6 MASS_7.3-26 lme4_0.999999-2
[11] Matrix_1.0-12 lattice_0.20-15 RColorBrewer_1.0-5 scales_0.2.3 gridExtra_0.9.1
[16] ggplot2_0.9.3.1 lubridate_1.3.0 data.table_1.8.8 xtable_1.7-1 formatR_0.7
[21] knitr_1.2 plyr_1.8
loaded via a namespace (and not attached):
[1] colorspace_1.2-2 dichromat_2.0-0 digest_0.6.3 evaluate_0.4.3 gtable_0.1.2 labeling_0.1
[7] memoise_0.1 munsell_0.4 nlme_3.1-109 proto_0.3-10 rpart_4.1-1 stats4_3.0.1
[13] stringr_0.6.2 tools_3.0.1
答案 0 :(得分:1)
我决定清除缓存并再次从工作区中删除所有对象(包括隐藏对象)。但是这次我还删除了R创建的几个隐藏文件(历史和数据)。当我再次运行代码块并编译文档时,一切正常。我相信唯一的新步骤是删除隐藏的文件。