我有多个R块,所以我使用缓存和依赖项。第一个块运行第3和第4块所依赖的内容。然而,第二个块在加载的R.Data上做了一些绘图,其中第一个块中使用了相同的变量,但是值不同。我尝试将cache=FALSE设置为第2块,并将其设置为针对第3和第4块的TRUE,但在编译第3块时会出现错误,因为当第2块被编译时,某些变量将被重写,这与块不一致。1我无法将数据和代码放在这里,因为它很大,但下面是一个示例:
# first save this as a workspace
ls <- list(vars=c("x","y","z"), data=c(1,5,6,9,5,4))
m <- mean(ls$data)
maximum <- max(ls$data)
ind <- which(ls$vars=="z")
save.image("~/Desktop/test-Workspace.RData")然后使用这个Rmd文档
---
title: "Caching Example"
output:
pdf_document
---
```{r chunk-1,echo=FALSE, cache=TRUE}ls <- list(vars=c("x","y"),data=c(1,5,6,9,5,4),dens=runif(100,0.0,1.0))
M <- -平均数(ls$data)
最大值<- max(ls$data)
ind <-哪个(ls$vars==“z”)
地块(密度(ls$den),col=2)
```{r chunk-2,fig.width=7.5,cache=FALSE, fig.height=7.5,echo=FALSE}load("~/Desktop/test-Workspace.RData")
地块(ls$data)
印刷(M)
```{r chunk-3,echo=FALSE,dependson="chunk-1", cache=TRUE}地块(密度(1美元))
印刷(M)
d<- (ls$data-m)/maximum
```{r chunk-4,include=FALSE,dependson=c("chunk-1","chunk-3")}#x应该又是2
if (长度(D)=0)
印刷(D)
我怎么才能做到这一点而没有错误呢?
谢谢!
发布于 2015-08-10 22:15:52
将工作区加载到环境中。做第二块,就像这样:
my_env = new.env()
load("test-Workspace.RData", envir = my_env)
with(my_env, plot(ls$data))
with(my_env, print(m))我想你不会有问题的。
https://stackoverflow.com/questions/31928603
复制相似问题