1

我正在尝试将 R 库拉入 python,以便可以将它们用于数据处理。有问题的图书馆是BNLearn. 使用rpy2,我可以BNLearn进入 python。但是,每当我尝试将列表输入到 中BNlearn时,都会收到以下错误。

from rpy2.robjects.packages import importr
from rpy2.robjects import ListVector, StrVector

BNLearn = importr("bnlearn")

SList = ['a','b','c','d','e']

res = StrVector(SList)

BNLearn.empty_graph(res)

回溯(最近一次通话最后):

  File "/anaconda3/lib/python3.7/site-packages/IPython/core/formatters.py", line 345, in __call__
    return method()

  File "/anaconda3/lib/python3.7/site-packages/rpy2/robjects/vectors.py", line 683, in _repr_html_
    elements.append(e._repr_html_())

  File "/anaconda3/lib/python3.7/site-packages/rpy2/robjects/vectors.py", line 683, in _repr_html_
    elements.append(e._repr_html_())

  File "/anaconda3/lib/python3.7/site-packages/rpy2/robjects/vectors.py", line 690, in _repr_html_
    names.extend(self.names)

> TypeError: 'rpy2.rinterface.RNULLType' object is not iterable

我尝试用谷歌搜索错误,但没有多少帖子谈论它。它声称该对象不可迭代,但如果我使用基本的 python 字符串,我会收到以下内容

BNLearn.empty_graph(SList)

RRuntimeError:check.nodes(nodes) 中的错误:节点必须是字符串向量,即节点的标签。

StrVector用于解决上面代码中的这个错误。

4

0 回答 0