Thanks Asumu for these links. Although the code in the paper is confusing because I'm not familiar with R, it has given me a good insight: datasets need to be described as dimensions and variables. I think the library presented in the paper conflates the structure of the data as read (in a csv file, say) with the logical structure of the dataset as a whole. (I may be wrong on this point, but that is my reading.) I think these concepts should be separated and similarly the the structure of a report is separate again. However, having given it a little thought after reading the paper, I think there's a good way forward by describing datasets as dimensions and variables, and then incorporating relational algebra primitives, particularly σ, π and G (group by). I'll brush up on the Codd model and see if that gives me any further insights. Thanks again, Simon.
On 6 November 2012 15:32, Asumu Takikawa <as...@ccs.neu.edu> wrote: > On 2012-11-06 15:22:49 +1100, Simon Haines wrote: > > As part of my work, I frequently have to 'shape' multi-dimensional > > datasets. This is reasonably easy to do in Racket and I'm thinking > > about pulling together some of the functions I use into a library. > > Before I do this though, I was wondering if there is any similar work > I > > can build upon, or perhaps use to guide me. > > > > [...] > > > > I haven't worked out the details yet, and I'm not sure the above will > > work the way I want it to. But I've had a quick look at Microsoft's > > Scientific DataSet ([1]http://sds.codeplex.com/), but it lacks the > > composability I'm used to with Racket. Is anyone aware of any similar > > work that does this, or that I could use as a guide? > > I don't know about Racket, but have you seen the 'reshape' library in R? > It's very flexible and is probably one of the state of the art designs > in this space. > > Here's a journal article describing its design: > http://www.jstatsoft.org/v21/i12/paper > > and its website: > http://had.co.nz/reshape/ > > Cheers, > Asumu >
____________________ Racket Users list: http://lists.racket-lang.org/users