4

I have an ASP.NET C# web application that required some statistical functions. So far I've hand written them myself however as the statistical side expands, I'd rather reuse an open sourced or free statistical engine as a library.

I looked at R and it's DCOM interface (http://sunsite.univie.ac.at/rcom/). Although R is excellent, that DCOM interface is a 3rd party and has restrictions on commercial usage (I might have website ads). Not to mention the DCOM interface is a bit slow. So that won't work for me.

Does anyone have other techniques or suggestions on what I'm trying?

Thanks!

DeepSpace101
  • 13,110
  • 9
  • 77
  • 127

2 Answers2

3

You may try Accord.NET, a statistics and machine learning library in .NET. Personally I'm using it in scientific computing and feel it's expressive and efficient enough.

grapeot
  • 1,594
  • 10
  • 21
0

Thanks grapeot. I also searched around and found R.NET at http://rdotnet.codeplex.com/. The source is available too using Hg/Mercurial (instead of SVN or GIT) via

hg clone https://hg01.codeplex.com/rdotnet

I just tried this and it seems to work pretty decently for toy examples. I'll have to test some larger real world examples to see it's robustness. Either ways, with the source available it should be simpler to fix/contribute to the project :)

Some additional responses from another post:

Pat: While more a ML engine, and quite possibly way undershooting what you require, Microsoft recently released Infer .NET which may be a step in the right direct?

Michelle: Have you looked at Python? I know some people are using that, e.g. to increase the functionality of SPSS above its macro capabilities, but I don't know what is available as canned functionality.

Josh Hermann: Numpy and Scipy were ported to .NET last year, so you could have that functionality available from IronPython. You'll find lots of examples on the web where people mix C# and IronPython (although you could run in to CLR/C# vs DLR/IronPython issues)

DeepSpace101
  • 13,110
  • 9
  • 77
  • 127
  • 2
    Don't ask questions or respond to other users answers in your answer. This makes it harder to find out which informations are important. Use the comment method instead. – Felix K. Jan 30 '12 at 19:02