knit_childのenver引数の使い方は?
-
21-12-2019 - |
質問
私はそのようなRMDテンプレートを持っているRパッケージを書いています:
child.rmd:
```{r}
print(x)
```
.
とその機能:
child <- function(){
myenv <- new.env()
assign("x", 0, envir=myenv)
# knit:
output <- knit_child("child.Rmd", envir=myenv)
return(output)
}
.
そのようなファイルをニットします:
```{r, echo=FALSE}
library(mypackage)
```
`r child()`
.
それはうまくいかない、出力は:
print(x)
## Error: object 'x' not found
.
は、あらゆるパッケージを含まずに自己完結型の例です。
.```{r}
child <- function(){
myenv <- new.env()
assign("x", 0, envir=myenv)
# knit:
output <- knit_child("child.Rmd", envir=myenv)
return(output)
}
```
`r child()`
他のヒント
knit_child
はenvir
にknit
を渡していないようです。私は本当に理由がわからない。
あなたができることは、それが子供が利用可能になるようにmyenv
を機能の外側に移動することです。
```{r}
myenv <- new.env()
child <- function(){
assign("x", 0, envir=myenv)
# knit:
output <- knit_child("child.Rmd")
return(output)
}
```
`r child()`
.
child.rmd
```{r}
print(get('x', envir=myenv))
```
. 所属していません StackOverflow