#python #r #rpy2
#python #r #rpy2
Вопрос:
Я пытаюсь получить доступ к фрейму данных из глобальной среды R и импортировать его в Python в Pycharm IDE. Но я не могу понять, как это сделать.
Я попробовал следующее:
Поскольку я не знаю, как получить доступ к глобальной среде, где хранится мой целевой data.frame. Я создал другой R-скрипт (myscript.R) где я преобразовал data.frame в объект rds и вызвал его снова.
save(dfcast, file = "forecast.rds")
my_data <- readRDS(file = "forecast.rds")
Однако, когда я пытаюсь прочитать rds на python, используя следующий код на Python:
import os
import pandas as pd
import rpy2.robjects as robjects
from rpy2.robjects import pandas2ri
from rpy2.robjects.packages import SignatureTranslatedAnonymousPackage
cwd = os.getcwd()
pandas2ri.activate()
os.chdir('C:/Users/xx/myscript.R')
readRDS = robjects.r['readRDS']
df = readRDS('forecast.rds')
df = pandas2ri.ri2py(df)
df.head()
Я получаю следующую ошибку:
Error in gzfile(file, "rb") : cannot open the connection
In addition: Warning message:
In gzfile(file, "rb") :
cannot open compressed file 'forecast.rds', probable reason 'No such file or directory'
Пожалуйста, покажите способ справиться с этим. Я просто хочу получить доступ к data.frame из R в Python.
Data.frame на самом деле является прогнозом, сгенерированным из другого R-скрипта, выполнение которого занимает около 7-8 минут. Итак, вместо того, чтобы запускать его снова на Python, я хочу, чтобы он обрабатывался в R и импортировал фрейм данных прогноза в python для дальнейшего анализа. С тех пор я нахожусь в процессе создания дополнительного модуля анализа. Я не хочу, чтобы функция прогнозирования R запускалась снова и снова, пока я отлаживаю свой модуль анализа. Следовательно, я хочу получить к ней прямой доступ из R.
Комментарии:
1. Похоже, проблема с путем. Не удается найти файл. Пожалуйста, проверьте, действительно ли файл находится по правильному пути.
2. @nicola обязательно ли указывать путь, по которому находится скрипт, или каталог, в котором хранятся все R-файлы?
3. Ни то, ни другое, все пути относятся к вашему рабочему каталогу, вы можете получить свой рабочий каталог в R с помощью
getwd()