\ sexpr返回错误的r对象值

时间:2013-06-30 11:53:36

标签: r latex knitr

当我在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。

enter image description here

但是,当文档编译以下行时:

A relative risk of \Sexpr{round(rr.ipt.init, digits=2)}

我的值为1.92。

enter image description here

关于这个错误值来自哪里的任何想法?我已经清除了缓存,清除了工作区,重新启动了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   

1 个答案:

答案 0 :(得分:1)

我决定清除缓存并再次从工作区中删除所有对象(包括隐藏对象)。但是这次我还删除了R创建的几个隐藏文件(历史和数据)。当我再次运行代码块并编译文档时,一切正常。我相信唯一的新步骤是删除隐藏的文件。