eng_python {reticulate} | R Documentation |
A reticulate Engine for Knitr
Description
This provides a reticulate
engine for knitr
, suitable for usage when
attempting to render Python chunks. Using this engine allows for shared state
between Python chunks in a document – that is, variables defined by one
Python chunk can be used by later Python chunks.
Usage
eng_python(options)
Arguments
options |
Chunk options, as provided by |
Details
The engine can be activated by setting (for example)
knitr::knit_engines$set(python = reticulate::eng_python)
Typically, this will be set within a document's setup chunk, or by the
environment requesting that Python chunks be processed by this engine.
Note that knitr
(since version 1.18) will use the reticulate
engine by
default when executing Python chunks within an R Markdown document.
Supported knitr
chunk options
For most options, reticulate's python engine behaves the same as the default R engine included in knitr, but they might not support all the same features. Options in italic are equivalent to knitr, but with modified behavior.
-
eval
(TRUE
, logical): IfTRUE
, all expressions in the chunk are evaluated. IfFALSE
, no expression is evaluated. Unlike knitr's R engine, it doesn't support numeric values indicating the expressions to evaluate. -
echo
(TRUE
, logical): Whether to display the source code in the output document. Unlike knitr's R engine, it doesn't support numeric values indicating the expressions to display. -
results
('markup'
, character): Controls how to display the text results. Note that this option only applies to normal text output (not warnings, messages, or errors). The behavior should be identical to knitr's R engine. -
collapse
(FALSE
, logical): Whether to, if possible, collapse all the source and output blocks from one code chunk into a single block (by default, they are written to separate blocks). This option only applies to Markdown documents. -
error
(TRUE
, logical): Whether to preserve errors. IfFALSE
evaluation stops on errors. (Note that RMarkdown sets it toFALSE
). -
warning
(TRUE
, logical): Whether to preserve warnings in the output. If FALSE, all warnings will be suppressed. Doesn't support indices. -
include
(TRUE
, logical): Whether to include the chunk output in the output document. IfFALSE
, nothing will be written into the output document, but the code is still evaluated and plot files are generated if there are any plots in the chunk, so you can manually insert figures later. -
dev
: The graphical device to generate plot files. See knitr documentation for additional information. -
base.dir
(NULL
; character): An absolute directory under which the plots are generated. -
strip.white
(TRUE; logical): Whether to remove blank lines in the beginning or end of a source code block in the output. -
dpi
(72; numeric): The DPI (dots per inch) for bitmap devices (dpi * inches = pixels). -
fig.width
,fig.height
(both are 7; numeric): Width and height of the plot (in inches), to be used in the graphics device. -
label
: The chunk label for each chunk is assumed to be unique within the document. This is especially important for cache and plot filenames, because these filenames are based on chunk labels. Chunks without labels will be assigned labels like unnamed-chunk-i, where i is an incremental number.
Python engine only options
-
jupyter_compat
(FALSE, logical): IfTRUE
then, like in Jupyter notebooks, only the last expression in the chunk is printed to the output. -
out.width.px
,out.height.px
(810, 400, both integers): Width and height of the plot in the output document, which can be different with its physicalfig.width
andfig.height
, i.e., plots can be scaled in the output document. Unlike knitr'sout.width
, this is always set in pixels. -
altair.fig.width
,altair.fig.height
: If set, is used instead ofout.width.px
andout.height.px
when writing Altair charts.