首页 > 解决方案 > 如何在 R Markdown 中将 R 多元素向量转换为 Python 列表?

问题描述

我必须在 R Markdown 文档的 Python 块中读取在 R 块中创建的一些向量。

我成功创建了向量,但是当我尝试通过它将 R 向量归因于 Python 变量时,py_list = r.vector它不起作用。

这里有一个和平的代码:

{python ingestao_parcela, eval = py_eval, include = FALSE}
###### IMPORT FEATURE ######
name_layer_tmp = 'parcela_tmp'
arcpy.FeatureClassToFeatureClass_conversion('C:/Users/CLEITE/AppData/Roaming/ESRI/Desktop10.7/ArcCatalog/Connection to BRP01.sde/SDE_GEO.VANT_PARCELA', arcpy.env.workspace, name_layer_tmp, """ DT_MES_REF = {} """.format(dt_mes_ref))

##### CREATE UNIQUE CODE COLUMN #####
arcpy.AddField_management(name_layer_tmp, 'CONCAT_T', 'TEXT')
arcpy.CalculateField_management(name_layer_tmp, 'CONCAT_T',
""" [ESTADO_FEDERATIVO] & "_" & [CD_HORTO] & "_" & [CD_TALHAO] """, 'VB')

##### R VECTOR TO PYTHON LIST #####
dado_amostral_py = r.dado_amostral
dado_amostral_py = tuple(dado_amostral_py)

##### FEATURE FILTER #####
arcpy.FeatureClassToFeatureClass_conversion('parcela_tmp', arcpy.env.workspace,
'parcela', """ [CONCAT_T] IN {} """.format(dado_amostral_py))

PS:我已经检查了 R 向量“dado_amostral”是否确实是在 R 中创建的,并且确实是。

我已经检查了网状 CRAN 页面,发现了一些关于元素类型转换的信息。

我从这篇文章中了解到,如果我想在 Python 块中使用在 R 中创建的一些对象,我只需要像我在开始时写的那样:py_list = r.vector.

但是当我尝试运行 R Markdown 文档时,它说没有像“dado amostral”这样的变量。

我错过了什么吗?

标签: pythonrr-markdownreticulate

解决方案


我刚刚弄清楚如何做我想做的事。

我找到的解决方案是:

{r}
r_to_py(dado_amostral)
{python}
py_dado_amostral = r.dado_amostral

推荐阅读