Как получить вывод missForest, используя rpy2 в Python? - PullRequest
1 голос
/ 10 апреля 2020

Я использую rpy2 для запуска R пакета missforest в python. Я знаю, что в python есть пакет missingpy, который работает аналогично пакету missforest в R, но я хочу протестировать другие пакеты Imputation, доступные в R, такие как Amelia, Hmis c. Ниже приведен код, который я создал в Python, я смог запустить missforest, используя rpy2, и получить вывод, но не смог выбрать элементы из вывода. При выполнении последней строки кода ниже, я получаю неверную синтаксическую ошибку. Я много занимался поиском, и в кодах, которые я получил, знак $ используется без проблем, но я не уверен, почему приведенный ниже код дает ошибку, как мне использовать знак $ с помощью rpy2. Спасибо.

######## Import and install relevant packages #########
import pandas as pd
import rpy2.robjects.packages as rpackages
from rpy2.robjects.vectors import StrVector
from rpy2.robjects.packages import importr
import rpy2.robjects as ro
R = ro.r
from rpy2.robjects import pandas2ri
pandas2ri.activate()
######## Import the data and conver in to 'R' dataframe ########
data = pd.read_csv("path.csv")
data_imp = data[data.columns.difference(['id'])]
data_imp_r = pandas2ri.py2ri(data_imp)
####### run missForest ####
utils.install_packages(StrVector('missForest'))
survival=importr('missForest')
reslm=R.missForest(data_imp_r,maxiter = 10, ntree = 100, variablewise = True,decreasing = False, 
verbose = False)
######### from the output of missforest check OOB error ####
reslm$OOBerror
...