2013-08-07 71 views
3

当我尝试“编织HTML”或使用LyX生成pdf时,我遇到了环境问题。 当我直接运行R代码(或者用Rstudio编译HTML笔记本)时,没关系。 我已经用[email protected](开发版)完成了测试。我没有与[email protected]当在R文件中找到文件时,eval(expr,envir,enclos)中的错误

问题上(test.Rhtml> test.R> init.R> kCommon.R)后,这里给出的样本,返回的错误是:

Period: From 

Error in eval(expr, envir, enclos) : objet 'kStartDate' introuvable 

to 
Error in eval(expr, envir, enclos) : objet 'kEndDate' introuvable 

test.R

## @knitr INIT 
source("./init.R") 
print(kStartDate) 
print(kEndDate) 

test.R源init.R

if (!require(xtable)){ 
    install.packages("xtable") 
    library(xtable) 
} 
source("./kCommon.R") 

init.R源kCommon.R

# Period 
kStartDate <- as.Date("2013-01-01", format="%Y-%m-%d") 
kEndDate  <- as.Date("2013-06-30", format="%Y-%m-%d") 

test.Rhtml

<html> 

<head> 
<title>TEST</title> 
</head> 

<body> 

<!--begin.rcode set-options, echo=FALSE 
output <- "html" 
read_chunk('test.R') 
opts_chunk$set(fig.width=7, fig.height=4.5, fig.align='center', tidy=FALSE, comment=NA) 
end.rcode--> 
<!--begin.rcode INIT, echo=FALSE, message=FALSE, warning=FALSE 
end.rcode--> 
<p> 
Period: From <!--rinline as.character(kStartDate) --> to <!--rinline as.character(kEndDate) --> 
</p> 


<hr/> 
<p> 
This document has been generated with <!--rinline version$version.string --> 
on <!--rinline version$platform -->. <br/> 
[<!--rinline date() -->] 
</p> 
<!--begin.rcode FIN, echo=FALSE, message=FALSE, warning=FALSE 
end.rcode--> 

</body> 
</html> 

会话信息

> library(knitr);sessionInfo() 
R version 3.0.1 (2013-05-16) 
Platform: x86_64-apple-darwin10.8.0 (64-bit) 

locale: 
[1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] knitr_1.3.7 

loaded via a namespace (and not attached): 
[1] digest_0.6.3 evaluate_0.4.6 

formatR_0.9 stringr_0.6.2 tools_3.0.1 

结果(移除选项)

output <- "html" 
read_chunk("test.R") 
opts_chunk$set(fig.width = 7, fig.height = 4.5, fig.align = "center", tidy = FALSE, 
    comment = NA) 
Period: From 

Error in eval(expr, envir, enclos) : objet 'kStartDate' introuvable 

to 
Error in eval(expr, envir, enclos) : objet 'kEndDate' introuvable 

This document has been generated with R version 3.0.1 (2013-05-16) on x86_64-apple-darwin10.8.0. 
[Thu Aug 8 10:35:22 2013] 

#EOF# 

登录后

> require(knitr); knit('test.Rhtml', encoding='UTF-8'); 
Le chargement a nécessité le package : knitr 


processing file: test.Rhtml 
    |.........              | 14% 
    ordinary text without R code 

    |...................            | 29% 
label: set-options 
    |............................          | 43% 
    ordinary text without R code 

    |.....................................       | 57% 
label: INIT 
    |..............................................     | 71% 
    inline R code fragments 

Error in eval(expr, envir, enclos) : objet 'kStartDate' introuvable 
Error in eval(expr, envir, enclos) : objet 'kEndDate' introuvable 
    |........................................................   | 86% 
label: FIN 
    |.................................................................| 100% 
    ordinary text without R code 


output file: test.html 

[1] "test.html" 
> 
+0

我不能用knitr v1.3.7重现问题;你可以添加'库(knitr); sessionInfo()'的输出到你的文章? –

+0

我在帖子中添加了会话信息。 – abret

+0

你可以在'INIT'中删除块选项'echo = FALSE,message = FALSE,warning = FALSE',再次编译test.Rhtml并粘贴那个块的输出? –

回答

0

一个办法就是清除针织缓存按下按钮,或者这个环境变量设置为FALSE,看到它下面:

{r setup, include=TRUE, cache = FALSE} 

干杯!

相关问题