首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Java从终端运行R

通过Java从终端运行R
EN

Stack Overflow用户
提问于 2011-04-29 23:10:42
回答 1查看 1.2K关注 0票数 1

我正在尝试使用Java运行R。我在我的Mac上安装了R,我已经在终端上使用过很多次了。

在终端中,要启动R,只需键入"R“

例如:

代码语言:javascript
复制
 Macintosh-11:Desktop myname$ R

R version 2.12.2 (2011-02-25)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> 

所以,我想要做的是,通过Java,通过终端运行R。所以,我给自己写了一个Java类:

代码语言:javascript
复制
public class javar {

        public static void main(String[] args) throws Exception {
                Runtime.getRuntime().exec("R");
        }
}

但是,当我编译并执行时,使用

代码语言:javascript
复制
java javar

我没看到R启动。我只是看到程序执行完毕,然后终端就准备好执行另一个命令了。

我怎样才能实现我想要做的事情呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-06 23:13:23

当我遇到您的问题时,我最终使用了JRI,它不仅创建了一个R/Java连接,而且允许您在两者之间交换矩阵和向量。

虽然我不建议这样做,但你的方法可能有效,但R不会在你启动它后“挂起”,它只会什么都不执行并退出。尝试添加"--vanilla“选项,显然要给它提供一些代码,使用--file=yourScript.R并最终使用--args参数

代码语言:javascript
复制
public class javar {

        public static void main(String[] args) throws Exception {
                Runtime.getRuntime().exec("R --vanilla --file=yourScript.R");
        }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5833842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档