C# - 将R数据帧转换为Deedle.Frame

时间:2015-10-14 03:38:19

标签: c# r deedle r.net

我有一个C#应用程序需要一个Deedle Frame作为输入数据。我还有一个返回数据框的R脚本,我不想通过C#在R脚本中重新实现该算法。 我尝试使用R.Net,我可以在C#应用程序中从R脚本获取数据帧,但其类型是RDotNet.DataFrame。 有没有可以在C#代码中将RDotNet.DataFrame转换为Deedle Frame?

我也在考虑创建一个调用R脚本的F#dll库,然后在C#代码中使用该dll库。有可能吗?

1 个答案:

答案 0 :(得分:1)

如果您使用F#中的Deedle,那么您也可以使用R类型提供程序。两者很好地集成,您可以从F#调用R并返回Deedle数据帧。有a good example on this in the Deedle documentation

R提供商会自动将R数据帧转换为Deedle帧。例如:

getFragmentManager().beginTransaction().replace(R.id.l, fragment).commit();

在R provider和Deedle中进行转换的源代码也可用。因此,如果您想直接使用它,那么首先应该是open RProvider.datasets // Get mtcars as a typed Deedle frame let mtcars : Frame<string, string> = R.mtcars.GetValue() 函数in Deedle source code

此时此问题并未真正暴露给C#,但我们当然欢迎拉动请求,使得Deedle成为可能: - )。