Announcing Deedle

November 13, 2013 at 4:45 pm | Posted in Uncategorized | 5 Comments
Tags: , , , ,

Yesterday we announced Deedle, our new Open Source library for exploratory data analysis in C# and F#.  Deedle (almost) stands for “Dotnet Exploratory Data Library”.  This is a library for .NET with similar capabilities to the widely respected Pandas library for Python.

Deedle was developed by Tomas Petricek, with assistance from Adam Klein and myself.

We are finding Deedle to be extremely powerful for research.  We hope others will find it similarly useful and make improvements to make it an even better package.

Deedle has great documentation and examples so we hope you will get up to speed quickly!  A video of our talk at the NYC F# meetup is available, as is the sample source code.

Howard Mansell
Tomas Petricek

Announcing the F# R Type Provider

August 1, 2012 at 2:52 pm | Posted in opensource | 24 Comments
Tags: , , , , ,

Here at BlueMountain we like to perform statistical analysis of data.  The stats package R is great for doing that.  We also like to use the data retrieval and processing capabilities of F#. F#’s interactive environment lends itself pretty well to data exploration, and we can also easily access our existing .NET-based libraries.  Once we are done, we can build and release production-supportable applications.

Nothing on the .NET platform competes with R for statistical functionality, so we set about bridging the gap between F# and R.  F# 3.0 provides a nice innovative mechanism for doing this, through Type Providers.

We have released an Open Source RProvider on github.  Here’s an example of how to use it:

// Pull in stock prices for some tickers then compute returns
let data = [
    for ticker in [ "MSFT"; "AAPL"; "VXX"; "SPX"; "GLD" ] ->
        ticker, getStockPrices ticker 255 |> R.log |> R.diff ]

// Construct an R data.frame then plot pairs of returns
let df = R.data_frame(namedParams data)
R.pairs(df)

Any of the calls above that begin R. are actually evaluated inside the R engine.

This produces a lovely pair plot like this:

While we intend to continue to enhance the provider to meet our needs, we really hope others will do the same.  If you use F# and work in the statistical/econometrics space, please try it out.  If you use R and are looking for a robust environment in which to develop applications, also try it (and F#) out.  If you have ideas for improvements, please feel free to share them with us.  And if you develop enhancements/fixes, please submit a pull request!

The RProvider is built on the RDotNet project, which handles all the gnarly interop with unmanaged data structures used by R.DLL.  The Type Provider provides an easy-to-use layer on top of that to use R from F#.  Many thanks go to the RDotNet author, Kosei.

Blog at WordPress.com.
Entries and comments feeds.