Python3如何调用R语言脚本

在不利用rpy2的情况下,对R脚本进行调用

Python3通过命令行调用R脚本

众所周知,python3 + R,天下我有。
python3语言灵活,容易上手,
写爬虫,做机器学习,做数据模型都非常容易。
但是在处理矩阵数据以及作图上,R语言可能略胜一筹。

网上有很多关于python调用R的教程,其中rpy2模块最为有效,但是rpy2的操作是直接将R语言代码添加进python程序,其实不利于程序维护。并且rpy2的安装也略微有些复杂,windows和linux系统下不能保证每次都顺利安装rpy2。

所以在这里介绍通过python内置函数os对R脚本进行调用:
代码如下:
Python3代码如下

import os
os.system('Rscript demo.R' + ' ' + parameter1 + ' ' + parameter2 + ' ' + parameter3)

R代码如下

args=commandArgs(T)
parameter1 = args[1]
parameter2 = args[2]
parameter3 = args[3]

cat("parameter1 is",parameter1,'\n',sep = " ")
cat("parameter2 is",parameter2,'\n',sep = " ")
cat("parameter3 is",parameter3,sep = " ")

该程序运行效果等同于在命令行输入以下代码:
Rscript demo.R parameter1 parameter2 parameter3

我们将
parameter1 改成:人生苦短
parameter2 改成:我用python
parameter3 改成:以及R

python里代码变为:

import os
os.system('Rscript demo.R 人生苦短 我用python 以及R')

命令行运行效果:
python p2r.py
在这里插入图片描述
Rscript demo.R 人生苦短 我用python 以及R
在这里插入图片描述
效果完全一致,就是没识别中文。
换成数字试一下:
Rscript demo.R 1 2 3
在这里插入图片描述
可以了,今天就这样吧,这个方法能用的前提是:
python和R都顺利装好了,并且能顺利在命令行运行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值