我有一个用rmarkdown::render编织的rmarkdown文件:我在.R中进行所有的数据处理,然后使用function编织到Rmd中。我的问题是,如果为了使代码更具可读性而封装呈现函数,它将不再起作用。这是一个基本的例子:-我的.Rmd文件:
---
title: "test"
output: html_document
---
```{r}printA()
我的R代码:
library(rmarkdown)
a<- 5
printA <- function() {
return(a)
}
render("c:/users/db7trs/desktop/test.Rmd")但是当我把它封装在一个函数中时,它就不再起作用了:
library(rmarkdown)
printA <- function() {
return(a)
}
rendre <- function(){
a <- 5
render("c:/users/db7trs/desktop/test.Rmd")
}
rendre()在这段代码中,我有一个非常明确的错误:Quitting from lines 7-8 Error in printA() : object 'a' not found。
如果我显式地给printA函数设置一个参数,这个问题会很容易解决,在这种情况下,这无论如何都是一种很好的做法,但我不明白为什么它在这两种情况下的工作方式不同。
https://stackoverflow.com/questions/47627287
复制相似问题