Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
                        
                        4个月前关闭。
                                                                                            
                
        
我有一个使用glmer方法创建广义线性混合效果模型的R代码,我需要将此代码移植到Java。

是否有提供此功能的库?

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

有没有一种使用Apache Math库来实现混合效果回归的方法?

我仍在学习混合效果模型的概念,但尚未完全理解这些概念。我在这里找到了一个提供多重回归的类,http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/stat/regression/MultipleLinearRegression.html,我想我也许可以使用它实现我所需要的。

有人尝试过做类似的事情吗?

最佳答案

您可以使用rJava包。它要求在计算机上安装R,但是,它允许从Java调用R代码。

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

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


在Java中,您需要从添加所有罐子

<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();

关于java - Java中的广义线性混合效应模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34610167/

10-12 19:37