我正在尝试使用rpython从R调用python。效果很好。现在我正在尝试将我的R代码安装到具有4个不同蟒蛇的docker容器中。事实证明configure script允许您指定python版本(RPYTHON_PYTHON_VERSION),但不指定Python的路径。
那么,是否有一个替代R包来从R调用Python?
答案 0 :(得分:0)
您可以使用R的system2函数将其作为子进程执行,以执行和捕获输出。
从R执行Python脚本的示例:
# run_splitstr.R
command = "python"
# Note the single + double quotes in the string (needed if paths have spaces)
path2script='"path/to your script/splitstr.py"'
# Build up args in a vector
string = "3523462---12413415---4577678---7967956---5456439"
pattern = "---"
args = c(string, pattern)
# Add path to script as first arg
allArgs = c(path2script, args)
output = system2(command, args=allArgs, stdout=TRUE)
print(paste("The Substrings are:\n", output))
要捕获字符向量中的标准输出(每个元素一行),必须在system2中指定stdout = TRUE,否则只返回退出状态。当stdout = TRUE时,退出状态存储在名为“status”的属性中。
答案 1 :(得分:0)
有 reticulate 和 basilisk。我相信只有后者虽然不太成熟,但可以预期同时与多个 python 版本/环境一起工作。