Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El paquete reticulate permite usar Python y R juntos en código R, en documentos de R Markdown y en RStudio IDE.
Python en R Python en R
Markdown
(Opcional) Construir un entorno (env) de Python para
Llamar a Python desde el código R de tres
maneras:
usar.
Importar módulos de PYTHON
Agregar knitr::knit_engines$set(python = Usa import() para importar cualquier módulo
reticulate::eng_python) para configurar el trozo de
código (chunk) y reticulate en Python (no es necesario de Python. Accede a los atributos de un
para knitr >= 1.18). modulo con $.
• import(module, as = NULL, convert =
TRUE, delay_load = FALSE) Import a
Sugiere un entorno de Python para usar en la Python module. Si convert = TRUE, Los
configuración del trozo de código. objetos de Python se convierten a su
equivalente en R. También
Comienza los trozos de código de Python con import_from_path. import("pandas")
```{python}. Las opciones del trozo de código como
echo, include, etc. ,funcionan como es esperado. • import_main(convert = TRUE)
Importa el módulo principal donde
Usa el objeto py para acceder a los objetos creados Python ejecuta su código por defecto.
en trozos de código de Python desde trozos de código import_main()
de R.
• import_builtins(convert = TRUE)
Importa las funciones integradas de
Todos los trozos de código de Python se ejecutan con Python import_builtins()
una única sesión de Python para que se pueda
acceder a todos los objetos creados en trozos de
código previos.
Fuente de archivos de PYTHON
Usa el objeto r para acceder a los objetos creados en
trozos de código en R desde los trozos de código en Usa source_python() para obtener un script de
Python. Python y hacer que las funciones y objetos de
Python queden disponibles en el entorno de R.
Las salidas se muestran debajo del trozo de código,
Incluyendo los gráficos en la librería matplotlib. • source_python(file, envir = parent.frame(),
convert = TRUE) Ejecuta un script de
Python asignando objetos a un entorno
Ayudantes (“helpers”)
específico de R. source_python("file.py")
Conversión de objetos Consejo: para indexer objetos de Python que comienzan
con 0, usar números enteros, por ej. 0L
Reticulate provee la conversion automática entre dict(..., convert = FALSE) Crea un diccionario de py_capture_output(expr, type = c("stdout", "stderr")) Ejecutar código de PYTHON
Python y R para muchos tipos de objetos de Python. objetos de Python. También se usa py_dict para hacer Captura y devuelve la salida de Python. También
un diccionario que usa objetos de Python como clave. py_suppress_warnings. py_capture_output("x") Ejecutar código de Python en el módulo
dict(foo = "bar", index = 42L) principal de Python con py_run_file() o
R Python py_run_string().
Single-element vector Scalar np_array(data, dtype = NULL, order = "C") Crea NumPy py_get_attr(x, name, silent = FALSE) Toma un atributo
arrays. np_array(c(1:8), dtype = "float16") de un objeto de Python. También py_set_attr,
Multi-element vector List py_has_attr, y py_list_attributes. py_get_attr(x) • py_run_string(code, local = FALSE,
List of multiple types Tuple array_reshape(x, dim, order = c("C", "F")) Remodela convert = TRUE) Ejecuta código de Python
Named list Dict una matriz de Python. x <- 1:4; array_reshape(x, c(2, 2)) py_help(object) abre la página de documentación de un (pasado a una cadena de caractéres,
objeto de Python. py_help(sns) "string”) en el módulo principal.
Matrix/Array NumPy ndarray py_func(object) Esta función (Wrap) ajusta función de py_run_string("x = 10"); py$x
Data Frame Pandas DataFrame R en una función de Python con la misma firma.
py_func(xor) py_last_error() Toma el último error encontrado en • py_run_file(file, local = FALSE, convert =
Function Python function Python. También py_clear_last_error para limpiar el TRUE). Ejecuta archivos de Python en el
NULL, TRUE, FALSE None, True, False py_main_thread_func(object) Crea una función que ultimo error. py_last_error() módulo principal. py_run_file("script.py")
siempre será llamada en el hilo principal.
O si se prefiere, se pueden convertir manualmente
con: py_save_object(object, filename, pickle = "pickle")
iterate(..., convert = FALSE) Aplica una función de R a Guarda y carga un objeto de Python con pickle. • py_eval(code, convert = TRUE) Ejecuta
py_to_r(x) Convierte un objeto de Python en cada valor de iterador de Python o devuelve los
un objeto de R. También r_a_py. py_to_r(x) También py_load_object. py_save_object(x, "x.pickle") una expresión de Phyton y devuelve el
valores como un vector de R, drenando el iterardor a resultado. También py_call. py_eval("1 +
medida que Avanza. También iter_next y as_iterator. 1")
tuple(..., convert = FALSE) Crea una tupla iterate(iter, print)
(conjunto ordenado e inmutable de with(data, expr, as = NULL, ...) Evalúa una expresión
elementos del mismo o diferente tipo ) en py_iterator(fn, completed = NULL) Crea un iterador de Acceder a los resultados y a cualquier otra cosa
Python. tuple("a", "b", "c") Python desde una función de R .seq_gen <- dentro de un contexto de administración de Python. py en el módulo principal de Python con py.
<- import_builtins(); with(py$open("output.txt", "w") • py Un objeto R que contiene el módulo
function(x){n <- x; function() {n <<- n + 1; principal de Python y los resultados
n}};py_iterator(seq_gen(9)) %as% file, { file$write("Hello, there!")})
almacenados allí. py$x
RStudio® is a trademark of RStudio, Inc. • CC BY SA RStudio • info@rstudio.com • 844-448-1212 • rstudio.com • Learn more at rstudio.github.io/reticulate/ • reticulate 1.12.0 • Updated: 2019-04
Python en IDE Requiere reticulate y RStudio v1.2 o mayor. Configurar Python
Resaltado de Tabulaciones para completar Fuente de Ejecuta línea a Presione F1 sobre Los gráficos de Reticulate se une a una instancia local de Python cuando se llama por primera
sintaxis para funciones y objetos de scripts de línea un código de un símbolo de matplotlib se vez import() directa o implícitamente desde una sesión de R. Para controlar el
scripts y trozos de Python (y módulos de Python Python Python con Cmd + Python para muestran en el proceso, buscar o crear la instancia de Python que se desee. Luego sugerir la
código de Python importados en scripts de R) Enter (Ctrl + mostrar la ayuda panel de instancia a reticulate. Reiniciar R para desvincular.
Enter) para ese símbolo.. gráficos.
Encontrar Python
• py_discover_config() Devuelve todas las • virtualenv_list() Devuelve un listado de todos
versiones de Python detectadas. Use py_config los entornos virtuales disponibles. También
para chequear que versión ha sido cargada. virtualenv_root(). virtualenv_list()
py_config() • conda_list(conda = "auto") Devuelve un listado
de todos los entornos conda disponibles.
• py_available(initialize = FALSE) Chequear si También conda_binary() y conda_version().
Python esta disponible en su sistema. También conda_list()
py_module_available, py_numpy_module.
py_available()
RStudio® is a trademark of RStudio, Inc. • CC BY SA RStudio • info@rstudio.com • 844-448-1212 • rstudio.com • Learn more at rstudio.github.io/reticulate/ • reticulate 1.12.0 • Updated: 2019-04