import pandas as pd
import rpy2.robjects as robjects
#pandas和r中的dataframe类型转换需要用到pandas2ri
from rpy2.robjects import pandas2ri
pandas2ri.activate()
robjects.r('''''
library(dplyr) # 导入包测试
''')
caculate = robjects.r('''''
f <- function(dat, fun){
x = dat[,1]
y = dat[,2]
if(fun=='add'){
result = x+y
}
if (fun=='division'){
result = x/y
}
return(result)
}
''') # 自定义函数
#通过pandas2ri.py2ri将pandas的dataframe转成r作为输入,再使用pandas2ri.ri2py将输出的r中的dataframe转成pandas
dat = pd.DataFrame({'x':[1,2,3], 'y':[2,2,2]})
result = pandas2ri.ri2py((caculate(pandas2ri.py2ri(dat), "add"))) # [3, 4, 5]
result = pandas2ri.ri2py((caculate(pandas2ri.py2ri(dat), "division"))) # [0.5, 1. , 1.5]
Python调用R代码
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Python 通过rpy2调用 R语言 【github有完整的软件包 】 系统环境 python 2.7.4 32...
- [R] Packages built before R 2.10.0 Duncan Murdochmurdoch....
- 我的电脑上按照了多个版本的Python,但是默认情况下用一些调用reticulate函数的函数会默认使用在环境变量...
- 1。下载安装 R语言 先去https://cran.r-project.org/bin/windows/base/...