【问题标题】:Generalized linear mixed effects model in java [closed]java中的广义线性混合效应模型[关闭]
【发布时间】:2016-04-09 04:31:00
【问题描述】:

我有一个使用 glmer 方法创建广义线性混合效应模型的 R 代码,我需要将此代码移植到 java。

是否有开箱即用提供此功能的库?

我尝试了谷歌,但可以找到任何直接有用的东西。

有没有办法使用 Apache Math 库实现混合效应回归?

我还在学习混合效应模型的概念,还没有完全理解这些概念。我在这里找到了一个提供多元回归的类http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/stat/regression/MultipleLinearRegression.html,我想我可以用它来实现我需要的东西。

以前有没有人尝试过做类似的事情?

【问题讨论】:

  • 您可以使用 rJava 包从 Java 中获取简单的解决方案和接口 R。
  • 你能提供你所说的rJava包的链接吗?
  • 添加了一个示例作为答案。希望对你有帮助

标签: java r machine-learning statistics


【解决方案1】:

您可以使用 rJava 包。它要求机器上安装了 R,但是,它允许从 java 调用 R 代码。

要使用它,您需要先安装它install.packages('rJava')。 之后,您需要将以下内容添加到 R 的目录中

<R_HOME>\bin\i386;
<R_HOME>\library\rJava\jri\i386;

在java中你需要从

添加所有的jar
<R_HOME>\library\rJava\jri 

到你的类路径。

之后你可以调用 rJava

Rengine eng = new Rengine(new String[] { "--no-save" }, false, null);

String[] colNames = {"col1", "col2", "col3"};
String[] col1 = {"a1", "a2", "a3", "a4"};
String[] col2 = {"b1", "b2", "b3", "b4"};
int[] col3 = {1, 2, 3, 4};

REXP mydf = REXP
            .createDataFrame(new RList(
                    new REXP[] {
                            new REXPString(col1),
                            new REXPString(col2),
                            new REXPInteger(col3)},
                    colNames));
//generate a dataframe inr engine
eng.assign("myDataFrame", mydf);

 //Calculate MEAN of vector using R syntax.
 eng.eval("meanVal=mean(myDataFrame$col3)");

 //Retrieve MEAN value
 double mean = eng.eval("meanVal").asDouble();

【讨论】:

    猜你喜欢
    • 2018-04-04
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多