Deedle frame to R

454 views Asked by At

I am trying to put some code to work. I am using rinterop as a reference.

I have a Frame<DateTime,string> which I try to send over to R using

let frame = 
    let aSerie = 
        Series.ofObservations 
            [ DateTime(2013,1,1) => 10.0
              DateTime(2013,1,4) => 20.0
              DateTime(2013,1,8) => 30.0 ] 
    Frame(["Hello"], [aSerie])
R.as_data_frame(frame)

which gives the following:

System.Exception: No converter registered for type Deedle.Series`2[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],

I also tried the following example:

let rnd = Random()
let ts = 
  [ for i in 0.0 .. 100.0 -> 
      DateTime.Today.AddHours(i), rnd.NextDouble() ] 
  |> series
R.as_zoo(ts)

which result in the same kind of error:

System.Exception: No converter registered for type Deedle.Series`2[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] or any of its base types

My ultimate goal is to chart Deedle frames, with DateTime as row keys using R.

1

There are 1 answers

1
Tomas Petricek On BEST ANSWER

I think there is a bug in the installation script in FsLab - can you please check that the files Deedle.dll and Deedle.RProvider.Plugin.dll (hidden somewhere in the packages folder) were copied to the directory where RProvider.dll lives (that is packages\RProvider.1.0.5\lib).

If no, does copying the files there resolve the issue? (Assuming the files are not there and copying them to the directory solves the problem, this looks like a bug in our installation script for FsLab.)