Я использую reticulate из R и пытаюсь преобразовать кадр данных pandas из словаря в кадр данных R, но я обнаружил, что преобразование не работает, и я не уверен, почему? Я хочу иметь доступ к столбцам данных, используя синтаксис R (т.е. $). Когда я создаю автономный фрейм данных в Python и возвращаю его в R, у меня нет проблем.
в Питоне
def createDataFrame(x):
a=(x,x)
b=pd.DataFrame(np.ones(a)*x)
return b
def createDictionary(x):
dict1={}
a=(x,x)
b=pd.DataFrame(np.ones(a)*x)
dict1['test'] = pd.DataFrame(b)
return dict1
df = createDataFrame(3)
Dict = createDictionary(3)
в R с использованием сетчатого пакета
source("py_script.py")
df$'1'
R_Df <- Dict$test
R_Df$'1'
Я ожидаю, что df$'1' и R_df$'1' будут генерировать один и тот же вывод, вектор-столбец из соответствующего фрейма данных. Но я ничего не получаю от второго вызова - вместо этого я получаю следующее:
сгенерирована ошибка
Ошибка в py_get_attr_impl (x, имя, молчание): AttributeError: объект «DataFrame» не имеет атрибута «1»
Может ли кто-нибудь объяснить, почему это и способ манипулирования объектами из словарей в R? заранее спасибо