首页 > 解决方案 > 如何在另一个块中绘制一个块中的数据?

问题描述

我制作了一个博客,尝试应用 ARIMA 模型。每个块都包含数据准备中的一个步骤。最后一步是绘制数据。但是,我不能在我的生命中获取最后一个块来使用以前块中的数据。

我已经尝试过全局和本地的 cache=TRUE 。我已经尝试过 ref.label 和依赖。不管它不起作用。源 ode 不包含任何 CACHE 命令,但我已经尝试过了。

```{r packages, message=FALSE}
library(quantmod)
library(tseries)
library(timeSeries)
library(forecast)
library(xts)
```

### Data Preparation

Time to pull the data. This line of code pulls daily prices including volume.
```{r pull, message=FALSE, eval=FALSE}
getSymbols('DANSKE.CO', from='2014-08-01', to='2019-08-01', src = 'yahoo')
```

I'm only going to use the adjusted close price. I simply reassign the Dansk Bank variable to only contain the adjusted close data.
```{r clean, message=FALSE, eval=FALSE}
DANSKE.CO <- DANSKE.CO[,4]
```

Next I'm transforming the prices by taking the log. This can help achieve lower variance before the differencing. Furthermore, much finance litterature often assumes prices are log-normal distributed and I'm no position to question the status quo right now.  
```{r log, message=FALSE, eval=FALSE}
DANSKE.CO <- log(DANSKE.CO)
```

Finally I'm interested in the log-returns not log-price. 
```{r returns, message=FALSE, eval=FALSE}
DANSKE.CO <- diff(DANSKE.CO, lag=1)
DANSKE.CO <- DANSKE.CO[!is.na(DANSKE.CO)] #Removes the first row since it does not contain the daily return.
```


Alright. Let's look at the data.
```{r plot_data, echo=FALSE, message=FALSE}
plot(DANSKE.CO, main='Danske Bank')
```

Error in plot(DANSKE.CO, main = "Danske Bank") : 
  object 'DANSKE.CO' was not found
Call: local ... withCallingHandlers -> withVisible -> eval -> eval -> plot

标签: rr-markdownknitr

解决方案


正如评论中所指出的,问题很可能是由于使用了eval = FALSE块选项造成的。

DANSKE.CO没有在您的 R Markdown 块中创建/修改,因为您正在使用eval = FALSE块选项。该eval = FALSE选项告诉 R Markdown 文档不要在块中运行代码。从您的块中删除这些设置很可能会解决您的问题。

参见 Yihui Xie 的 R Markdown 一书的第 2.6 章,包的作者对 R Markdown 选项进行了更深入的解释。

https://bookdown.org/yihui/rmarkdown/r-code.html


推荐阅读