Tell me more ×
Cross Validated is a question and answer site for statisticians, data analysts, data miners and data visualization experts. It's 100% free, no registration required.

I am taking a graduate course in Applied Statistics that uses the following textbook (to give you a feel for the level of the material being covered): Statistical Concepts and Methods, by G. K. Bhattacharyya and R. A. Johnson.

The Professor requires us to use SAS for the homeworks.

My question is that: is there a Java library(ies), that can be used instead of SAS for problems typically seen in such classes.

I am currently trying to make do with Apache Math Commons and though I am impressed with the library (it's ease of use and understandability) it seems to lack even simple things such as the ability to draw histograms (thinking of combining it with a charting library).

I have looked at Colt, but my initial interest died down pretty quickly.

Would appreciate any input -- and I've looked at similar questions on Stackoverflow but have not found anything compelling.

NOTE: I am aware of R, SciPy and Octave and java libraries that make calls to them -- I am looking for a Java native library or set of libraries that can together provide the features I'm looking for.

NOTE: The topics covered in such a class typically include: one-samle and two-sample tests and confidence intervals for means and medians, descriptive statistics, goodness-of-fit tests, one- and two-way ANOVA, simultaneous inference, testing variances, regression analysis, and categorical data analysis.

share|improve this question
2  
Have you considered R? – RioRaider Sep 18 '12 at 1:49
Hi, thanks for the note, I am looking for a library that is almost entirely in Java. So I am aware of R, SciPy and Octave and java libraries that make calls to them -- I'll edit the question to reflect this. Thanks. – user1172468 Sep 18 '12 at 1:59

4 Answers

up vote 3 down vote accepted

When I am forced to use java for basic statistics, apache commons math is the way to go. For plots, I use and recommend JFreeChart. The latter is widely spread, so stackoverflow even has a populated tag for it.

Edit

If one looks for a suite, then maybe Deducer is an option. The GUI is based on JGR meanwhile the statistical parts are called in R. It seems to be extendable both via R and java. One could e.g. skip the calls to the Rengine but call referenced java libraries instead. But I admit, I did not try it yet.

As far as I have understood the OP, the optimum would be something like Rapidminer for Statistics, since Rapidminer is a pure java framework which supports GUI access (including visualizations), usage as library and custom plugin development. To the best of my knowledge, something like that for statistics does not exist. I do not recommend Rapidminer for that particular task, because to the best of my knowledge it only includes the most basic statistical tests. The visualizations have been extended lately, but I cannot estimate how customizable they are now.

share|improve this answer
Hi, that's kind of what I'm attempting to do, wish there was a more comprehensive suite. – user1172468 Sep 18 '12 at 18:55
@user1172468 I have updated my answer – steffen Sep 19 '12 at 6:45

Try http://www.roguewave.com/Portals/0/products/imsl-numerical-libraries/java-library/docs/5.0.1/api/overview-summary.html

It is well documented and provides a lot of useful statistical and mathematical functions. But unfortunately it is not open source. So if that does not bother you, then the library should be ok.

I do not know however, if it provides graphical output.

share|improve this answer
1  
Hi, thanks for the link, do you know how it compares against Apache Commons Math. – user1172468 Sep 18 '12 at 18:52

Check out Suan Shu: NumericalMethod.com. It is not free in general, but it is free for academic use.

share|improve this answer

Similar to steffen's suggestion of RapidMiner, you might want to consider Weka. It may be geared more specifically to machine learning than you are hoping for though. It has lots of algorithms for tasks like clustering, classification, and regression. Weka has a GUI, but it can also be used as a software library as well. I've seen histograms in the GUI but I'm not sure if it's easy to reuse them through the library or not.

share|improve this answer
Hi thanks for the response, I was really thinking of material covered in a Grad Statistics course: Topics include one- and two-sample tests and confidence intervals for means and medians, descriptive statistics, goodness-of-fit tests, one- and two-way ANOVA, simultaneous inference, testing variances, regression analysis, and categorical data analysis. – user1172468 Sep 19 '12 at 17:31

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.