使用r markdown和knitr访问R脚本生成的数据

时间:2015-07-09 17:19:37

标签: r knitr

我是R markdown和knitr的新手,并没有找到这个问题的答案:

我有R脚本,我编写了函数并将数据分配给位置1(.GlobalEnv)。如何在R markdown中访问我的数据并运行我的函数并使用knitr生成.html文件?

这是一个简单的例子。在脚本文件中,我生成:

some.x.data<-1:10
some.y.data<-1:10
toy.fn<-function(){
  tot<-some.x.data + some.y.data
  tot
}

toy.fn()在脚本文件中有效。

我的R降价文件包含:

---
title: "trivial test"
author: "me"
date: "July 9, 2015"
output: html_document
---


```{r}
plot(some.x.data, some.y.data)
toy.fn()
```

当我点击编织HTML时,我收到以下错误:

绘图错误(some.x.data,some.y.data):找不到对象'some.x.data' 呼叫:... withCallingHandlers - &gt; withVisible - &gt; eval - &gt; eval - &gt;积

由于

1 个答案:

答案 0 :(得分:4)

RStudio打开一个新的knit() Rmd文件的R会话,因此.GlobalEnv中的对象将无法用于该会话(它们是两个单独的会话),所以当你knitr HTML some.x.data无法知道some.y.datatoy.fnRmd是什么。

您需要在```{r, echo = FALSE, message = FALSE} some.x.data<-1:10 some.y.data<-1:10 toy.fn<-function(){ tot<-some.x.data + some.y.data tot } ``` 文件中重新创建它们。如果您不想要任何输出,请执行以下操作:

Rmd

完整--- title: "trivial test" author: "me" date: "July 9, 2015" output: html_document --- ```{r, echo = FALSE, message = FALSE} some.x.data<-1:10 some.y.data<-1:10 toy.fn<-function(){ tot<-some.x.data + some.y.data tot } ``` ```{r} plot(some.x.data, some.y.data) toy.fn() ```

knit

自己手动

library(knitr); knit('your_file.Rmd')deployment-target