将多个参数从Python传递给R可以通过以下几种方法实现:
import rpy2.robjects as robjects
# 创建R函数
r_code = '''
my_function <- function(param1, param2) {
# 在这里编写R代码
result <- param1 + param2
return(result)
}
'''
# 将R代码加载到R环境中
robjects.r(r_code)
# 调用R函数并传递参数
param1 = 10
param2 = 20
result = robjects.r['my_function'](param1, param2)
print(result[0]) # 输出结果
import subprocess
# 定义R脚本
r_script = '''
param1 <- as.numeric(commandArgs(trailingOnly = TRUE)[1])
param2 <- as.numeric(commandArgs(trailingOnly = TRUE)[2])
result <- param1 + param2
cat(result)
'''
# 调用R脚本并传递参数
param1 = 10
param2 = 20
result = subprocess.check_output(['Rscript', '-e', r_script, str(param1), str(param2)])
print(result.decode()) # 输出结果
以上两种方法都可以实现将多个参数从Python传递给R,并获取R计算的结果。具体选择哪种方法取决于个人的需求和偏好。
领取专属 10元无门槛券
手把手带您无忧上云