Researcher computational biology
PhD, Jonathan MERCIER
Bioinformatics (LBI)
2, rue Gaston Crémieux
91057 Evry Cedex
Tel :(33) 1 60 87 83 44
Email :[hidden email]
Dear, Firstly thanks for your amazing libraries. Currently I am working to port some R code to Java, and I encounter some difficulties.
What is the equivalent of:  the R class "lm" ? description:
https://www.rdocumentation.org/packages/stats/versions/3.5.1/topics/lm  of intercept: Z ~ y1 or z ~ 1 R examples:

Researcher computational biology PhD, Jonathan MERCIER Bioinformatics (LBI) 2, rue Gaston Crémieux 91057 Evry Cedex Tel :(33) 1 60 87 83 44 Email :[hidden email] 
Hello.
On Tue, 30 Oct 2018 12:22:46 +0100, Jonathan MERCIER wrote: > Dear, > > Firstly thanks for your amazing libraries. > > Currently I am working to port some R code to Java, and I encounter > some difficulties. > > > What is the equivalent of: > >  the R class "lm" ? > > *description*: > > https://www.rdocumentation.org/packages/stats/versions/3.5.1/topics/lm > >  of intercept: Z ~ y1 or z ~ 1 > > *R examples:* > Y ~ A  Y = βo + β1A  Straightline with an implicit > yintercept > Y ~ 1 + A  Y = β1A Straightline with no yintercept; that is, > a fit forced through (0,0) > Y ~ A + I(A^2) Y = βo+ β1A + β2A2 Polynomial model; note that the > identity function I( ) allows terms in the model to include normal > mathematical symbols. I can guess that some of the equivalent functionality is provided by the "o.a.c.math4.stat.regression" package: http://commons.apache.org/proper/commonsmath/apidocs/org/apache/commons/math4/stat/regression/packagesummary.html Regards, Gilles > > Thanks for your help >  > > Jonathan MERCIER > Centre National de Recherche en Génomique Humaine (CNRGH) > > Researcher computational biology > > PhD, Jonathan MERCIER > > Bioinformatics (LBI) > > 2, rue Gaston Crémieux > > 91057 Evry Cedex > > Tel :(33) 1 60 87 83 44 > > Email :[hidden email] <mailto:[hidden email]>  To unsubscribe, email: [hidden email] For additional commands, email: [hidden email] 
In reply to this post by Jonathan MERCIER2
On Tue, Oct 30, 2018 at 4:22 AM Jonathan MERCIER <[hidden email]> wrote:
SimpleRegression should take care of these first cases. http://commons.apache.org/proper/commonsmath/apidocs/org/apache/commons/math4/stat/regression/SimpleRegression.html Construct the SimpleRegression() object, then pass data using the addObservations() method. You can either call regress() and inspect the RegressionResults object returned, or after calling results, use the SimpleRegression methods getSlope() and getIntercept() . The results returned by RegressionResults are more exhaustive. The boolean includeIntercept should toggle whether the model fits an intercept.
I don't think we have such a compact syntax for this. I think you'll have to do it the oldfashioned way and create the appropriate model matrix, then solve using the OLS regression package http://commons.apache.org/proper/commonsmath/apidocs/org/apache/commons/math4/stat/regression/OLSMultipleLinearRegression.html which uses a QR factorization. Add data with the newSampleData() method, then get your regression coefficients by calling calculateBeta() .

Thanks Eric and Gilles for your help
Best regards 
Researcher computational biology PhD, Jonathan MERCIER Bioinformatics (LBI) 2, rue Gaston Crémieux 91057 Evry Cedex Tel :(33) 1 60 87 83 44 Email :[hidden email] 
Free forum by Nabble  Edit this page 