[Math | Statistics] looking for an equivalent of both the R class "lm" and intrcept

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Math | Statistics] looking for an equivalent of both the R class "lm" and intrcept

Jonathan MERCIER-2

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 ~ y-1 or z ~ 1

R examples:
Y ~ A          |  Y = βo + β1A     | Straight-line with an implicit y-intercept
Y ~ -1 + A     |  Y = β1A          | Straight-line with no y-intercept; 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.


Thanks for your help
--
Jonathan
              MERCIER

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]

Reply | Threaded
Open this post in threaded view
|

Re: [Math | Statistics] looking for an equivalent of both the R class "lm" and intrcept

Gilles Sadowski
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 ~ y-1 or z ~ 1
>
> *R examples:*
> Y ~ A          |  Y = βo + β1A     | Straight-line with an implicit
> y-intercept
> Y ~ -1 + A    | Y = β1A| Straight-line with no y-intercept; 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/commons-math/apidocs/org/apache/commons/math4/stat/regression/package-summary.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, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Math | Statistics] looking for an equivalent of both the R class "lm" and intrcept

Eric Barnhill
In reply to this post by Jonathan MERCIER-2


On Tue, Oct 30, 2018 at 4:22 AM Jonathan MERCIER <[hidden email]> wrote:

R examples:

Y ~ A          |  Y = βo + β1A     | Straight-line with an implicit y-intercept
Y ~ -1 + A     |  Y = β1A          | Straight-line with no y-intercept; that is, a fit forced through (0,0)



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.


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 don't think we have such a compact syntax for this. I think you'll have to do it the old-fashioned way and create the appropriate model matrix, then solve using the OLS regression package http://commons.apache.org/proper/commons-math/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 for your help
--

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]

Reply | Threaded
Open this post in threaded view
|

Re: [Math | Statistics] looking for an equivalent of both the R class "lm" and intrcept

Jonathan MERCIER-2
Thanks  Eric and Gilles for your help

Best regards

--
Jonathan
              MERCIER

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]