比如python中的DataFrame:
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=["one", "two", "three"])
怎么将它转换成R语言中的数据框
先安装rpy2(pip install rpy2),然后使用下列代码:
from rpy2.robjects import pandas2ri
pandas2ri.activate()
from rpy2.robjects.packages import importr
base = importr('base')
# call an R function on a Pandas DataFrame
df_in_r = base.summary(df)
R语言中读取python的数据框的代码是:
import pandas as pd
import rpy2.robjects as ro
from rpy2.robjects.packages import importr
from rpy2.robjects import pandas2ri
from rpy2.robjects.conversion import localconverter
with localconverter(ro.default_converter + pandas2ri.converter):
r_from_pd_df = ro.conversion.py2rpy(df)
x <- data.frame(A = c(1,2,3), B = c(4,5,6), C=c(7,8,9), index = c("one", "two", "tree"))
参考:
https://github.com/rstudio/reticulate/issues/319
devtools::install_github("rstudio/reticulate")
py_to_r()