我是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;积
由于
答案 0 :(得分:4)
RStudio打开一个新的knit()
Rmd
文件的R会话,因此.GlobalEnv
中的对象将无法用于该会话(它们是两个单独的会话),所以当你knitr
HTML
some.x.data
无法知道some.y.data
,toy.fn
和Rmd
是什么。
您需要在```{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