R Markdown:导入R脚本对象

时间:2018-10-23 01:08:36

标签: r r-markdown

我有一个R代码,可以从我的数据中生成多个图表。我想在Rmarkdown中编写一份报告,在其中我只想包含图表和表格,而无需重写R代码。一种方法是使用“ read_chunk”功能,但这不符合我的目的。以下是我需要的一个简单示例。

假设我有以下R脚本“ Example.r”

attendance_id

现在在我的R markdown文件中,我需要以下内容:

x <- 1:4
y <- sin(x)

####----Table
table  <- cbind(x,y)
####----Plot
plot_1 <- plot(x,y) 

在上面的示例中,我将无法插入表格或绘图,因为在运行表格和绘图命令之前,都需要定义输入“ x”和“ y”。有没有一种方法可以实现而无需两次对“ x”和“ y”进行硬编码?

1 个答案:

答案 0 :(得分:0)

以下是我的工作流程,而不是采购R脚本,它可能对您有用: (对不起,我认为这应该是评论,但会有点冗长)

  • 并排保留草稿.rmd和报告.rmd。 draft.rmd将是您进行探索性数据分析的工作场所。然后report.rmd将成为您的详尽报告

  • 收集要放入列表中的结果(例如data.frames和ggplot对象)。将列表另存为result_181023.rda文件。在data/

  • 之类的文件夹中
  • 将保存的result_181023.rda文件加载到report.rmd中,绘制图形并打印表格并按照自己喜欢的方式修饰报告。

一个例子:

```{r data echo=FALSE, cache=FALSE}
# a list named result.list
# With a table result.list$df 
# and a ggplot object: result.list$gg1
load("data/result_181023.rda")

``` 

The following table shows the results:

```{r Table, echo=FALSE}
knitr::kable(result.list$df)
```

One can depict the result in a plot as well:
```{r Plot, echo=FALSE}
result.list$gg1
```