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