我有一个C#应用程序,需要Deedle Frame作为输入数据。我也有一个R脚本返回一个数据帧,并且我不想用C#在R脚本中重新实现该算法。
我尝试使用R.Net,可以从C#应用程序中的R脚本获取数据帧,但其类型为RDotNet.DataFrame。
有什么用C#代码将RDotNet.DataFrame转换为Deedle Frame吗?
我也在考虑创建一个调用R脚本的F#dll库,然后在C#代码中使用该dll库。可能吗?
最佳答案
如果使用F#中的Deedle,则还可以使用R类型提供程序。两者很好地集成在一起,您可以从F#调用R并返回Deedle数据帧。有a good example on this in the Deedle documentation。
R provider将自动将R数据帧转换为Deedle帧。例如:
open RProvider.datasets
// Get mtcars as a typed Deedle frame
let mtcars : Frame<string, string> = R.mtcars.GetValue()
在R提供程序和Deedle中进行转换的源代码也可用。因此,如果您想直接使用它,那么开始的地方就是
tryCreateFrame
函数in Deedle source code。这一点目前还没有真正暴露给C#,但是我们当然会欢迎提出请求,从而使Deedle :-)成为可能。
关于c# - C#-将R数据帧转换为Deedle.Frame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33116216/