R markdown: Accessing variable from code chunk (variable scope) [duplicate]

岁酱吖の 提交于 2019-12-18 11:15:23

问题


In R markdown (knitr package), can I access a variable within the body of the document that was calculated in a code chunk?


回答1:


Yes. You can simply call any previously evaluated variable inline.

e.g. If you had previously created a data.frame in a chunk with df <- data.frame(x=1:10)

`r max(df$x)`

Should produce

10



回答2:


I would like to add that this is not the case for other languages than R. I know the question is solved and about R, but maybe someone else finds this useful:

Except engine='R' (default), all chunks are executed in separate sessions, so the variables cannot be directly shared. If we want to make use of objects created in previous chunks, we usually have to write them to files (as side effects). For the bash engine, we can use Sys.setenv() to export variables from R to bash (example). Another approach is to use the (experimental) runr package.

Source

Example in R:

x = 4

print(x)

## [1] 4

Python Example 2a):

x=1
print(x)

## 1

Python Example 2b):

print(x)

## Traceback (most recent call last):
##   File "<string>", line 1, in <module>
## NameError: name 'x' is not defined

Just FYI.




回答3:


You can acces to variable previously created so

`r variable`

But if the variable is numeric and you want add to a pdf document, you should convert variable in string so

`r toString(variable)`


来源:https://stackoverflow.com/questions/10902504/r-markdown-accessing-variable-from-code-chunk-variable-scope

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!