1. 安装库rpy2

1. 下载与本地对应python版本模块,pip install rpy2是安装不上的

下载地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2 这是python下包的专用地址

需要下载版本和平台都相对应的whl包,我下的是rpy2-2.9.4-cp36-cp36m-win32.whl

pip install rpy2-2.9.4-cp36-cp36m-win32.whl安装即可。

2. 安装broom --》R语言的一个库--》与R脚本有关,可以忽略

install.packages('broom')

3. 写R脚本

library(broom)

test<-function() {#x <- c(1:1200000)

#y <- c(1:1200000)

x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)

y<- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)

relation<- lm(y ~x)

data<-summary(relation)

data_dict<-c()

newData<-c(data)

data_dict["residuals"] <- newData["residuals"]

data_dict["coefficients"] = newData["coefficients"]

data_dict["aliased"] = newData["aliased"]

data_dict["sigma"] = newData["sigma"]

data_dict["df"] = newData["df"]

data_dict["r.squared"] = newData["r.squared"]

data_dict["adj.r.squared"] = newData["adj.r.squared"]

data_dict["fstatistic"] = newData["fstatistic"]

data_dict["cov.unscaled"] = newData["cov.unscaled"]

data_dict["p.value"] = c(broom::glance(data))["p.value"]return(data_dict)

}#result <- test()#print(result)

4. 写python脚本

报错: RuntimeError: R_USER not defined.

解决方案,各种搜索都是环境变量的问题,于是我各种加

还tm不行..........................................又懒得重启

stackflow找到答案

os模块的运用,直接看脚本

importos

os.environ['R_HOME'] = r'C:\Program Files\R\R-3.6.0'os.environ['R_USER'] = r'C:\python3.6.3\Lib\site-packages\rpy2' #path depe

importrpy2.robjects as robjects # ----------------------------------------------> 一定要注意这句,不能放到最上面,因为要先添加环境变量,才能找到这个rpy2。一定要注意

robjects.r.source(r'C:\code\r_test\test_one\test.R')

a= robjects.r('test()')print(type(a))#print(list(a))

from pandas importDataFrameprint(a[0])print(a[0][0])

5. python传值给R脚本,如何实现, 形参方法1

R脚本: 这个脚本的关键在于如何将list转换为c

library(broom)

test<-function(list_data) {#print(list_data)

#print(class(list_data))

#r语言list 转换成 vector: v = as.vector(unlist(你的list))

x = c(as.vector(unlist(list_data['x'])))

y= c(as.vector(unlist(list_data['y'])))

relation<- lm(y ~x)

data<-summary(relation)print(data)return(0)

}

python脚本

importos

os.environ['R_HOME'] = r'C:\Program Files\R\R-3.6.0'os.environ['R_USER'] = r'C:\python3.6.3\Lib\site-packages\rpy2' #path depe

from pandas importDataFrame as dfimportrpy2.robjects as robjectsimporttime

robjects.r.source(r'C:\code\r_test\test_one\test.R')

time1=time.time()y=robjects.ListVector({"x":[1, 2, 3],"y":[1, 2, 3], # 这里可以给float

})

a= robjects.r["test"](y)

6. python传值给R脚本,如何实现, 形参方法2:类似python的args

R语言脚本

library(broom)

test<-function(...) {

list_data<- list(...) #类似python的args,可以传递多个参数

print(list_data)print(class(list_data))

x= c(as.vector(unlist(list_data[1]))) #注意R是从1开始的

y = c(as.vector(unlist(list_data[2])))print(x)print(y)

relation<- lm(y ~x)

data<-summary(relation)print(data)return(0)

}

python语言

importos

os.environ['R_HOME'] = r'C:\Program Files\R\R-3.6.0'os.environ['R_USER'] = r'C:\python3.6.3\Lib\site-packages\rpy2' #path depe

from pandas importDataFrame as dfimportrpy2.robjects as robjectsimporttime

robjects.r.source(r'C:\code\r_test\test_one\test.R')

x = robjects.IntVector([151, 174, 138, 186, 128, 136, 179, 163, 152, 131])

y= robjects.IntVector([63, 81, 56, 91, 47, 57, 76, 72, 62, 48])

a= robjects.r["test"](x, y)

r语言调用python_python3调用R语言干货相关推荐

  1. java集成r语言_R语言- 实验报告 - 利用R语言脚本与Java相互调用

    一.实训内容 利用R语言对Java项目程序进行调用,本实验包括利用R语言对java的.java文件进行编译和执行输出. 在Java中调用R语言程序.本实验通过eclipse编写Java程序的方式,调用 ...

  2. r语言中调用c 程序,如何在R程序包中调用C函数

    程序包名称为pareto.这是.c文件中src目录:如何在R程序包中调用C函数 #include #include #include "Rinternals.h" #include ...

  3. r语言和python-Python和R语言的区别_Python与R的区别和联系

    Python和R语言的区别_Python与R的区别和联系 可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言.谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢? 精彩解 ...

  4. python和r语言比较_Python和R语言之分析对比 - 数据分析

    在Python中调用R或在R中调用Python,为什么是"和"而不是"或"? 在互联网中,关于"R和Python"的文章,排名前十的搜索结果 ...

  5. r语言 回归分析 分类变量_R语言 | 回归分析(二)

    R语言 语言学与R语言的碰撞 Xu & Yang PhoneticSan 学习参考 Discovering Statistics Using R Statistics for Linguist ...

  6. java调用wvsc.exe_c语言 函数的调用方法

    欢迎加入 编程爱好者 QQ群 群号 57616770 中都只有一个主函数main(), 但实用程序往往由多个函数组成.函数是C源程序的基本模块,通过对函数模块的调在第一章中已经介绍过,C源程序是由函数 ...

  7. R 语言怎么保存工作目录到当前路径_【R语言基础】01.R语言软件环境搭建及常用操作...

    一.R语言简介 R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果: 表明R语言是该领域 ...

  8. 易语言 存储过程 mysql_在易语言中调用MS SQL SERVER数据库存储过程(Transact-SQL)方法总结...

    作者:liigo 日期:2010/8/25 Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接 ...

  9. python r语言 数据分析_PythonR语言-将Python和R整合进一个数据分析流程

    命令行脚本 通过Windows 或Linux终端环境命令行运行R和Python脚本类似.要运行的命令被分解成以下部分: 参数说明 ▲ 是可执行的命令 (R代码中是 Rscript, Python代码中 ...

最新文章

  1. DTCMS,手机网站访问跳转到DTCMS官网解决方法
  2. 记阿里的一次壮烈牺牲
  3. java包装类方法_Java包装类
  4. shell获取命令行结果指定列(指定列结果)
  5. bzoj 1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(切比雪夫距离+multiset贪心+并查集)
  6. Windows下Ionic Android开发环境搭建
  7. 人脸方向学习(七):Face Recognition-CosFace 解读
  8. php$.ajax(),使用PHP的jQuery $.ajax()
  9. 阅历总结:运用IBM DB2数据库的详细事变
  10. java毕业设计——基于java+jsp+Tomcat的电子书下载系统设计与实现(毕业论文+程序源码)——电子书下载系统
  11. Emmagee源码学习
  12. Microsoft Edge浏览器设置编码方式
  13. mysql的yearweek 和 weekofyear函数
  14. 谷歌插件学习必备准备知识代码提示插件调试
  15. 有哪些电容笔值得推荐?值得买的电容笔测评
  16. 关于社区团购和菜场买菜的一点感想
  17. 域名批量查询 网站域名批量查询
  18. 2019HDU多校第一场1001 BLANK (DP)(HDU6578)
  19. 计算机控制键功能,电脑ctrl键的功能
  20. 如何使用OLED显示图片

热门文章

  1. 北交所开市工作准备就绪 定于2021年11月15日开市
  2. 寂寞了就去搞钱?俞敏洪举报“俞敏洪”:“搞钱论”没一句话是我说的
  3. 蔡崇信将担任阿里巴巴集团第一组董事
  4. 应届生开40万年薪?OPPO大手笔招揽芯片人才引热议
  5. 超56万5G用户重返4G:用户难以接受这两点
  6. 理想汽车已累计交付2万台 仅用时10个月
  7. 红魔5S将配备320Hz游戏肩键:让小白瞬间成为操控高手
  8. 疑似小米10超大杯入网:搭载骁龙865+/120Hz高刷屏加持
  9. 瑞幸咖啡退市成定局:董事长被要求辞职,新店却仍在扩张
  10. 王思聪旗下公司破产拍卖:13.8万成交、溢价超100倍