我正在尝试将 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
用于解决上面代码中的这个错误。