Я пытаюсь вытянуть библиотеки 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)
Traceback (последний последний вызов):
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 (узлах):
узлы должны быть вектором символьных строк, меток узлов.
StrVector
был использован для решения этой ошибки в коде выше.