我有一个C#应用程序需要一个Deedle Frame作为输入数据。我还有一个返回数据框的R脚本,我不想通过C#在R脚本中重新实现该算法。 我尝试使用R.Net,我可以在C#应用程序中从R脚本获取数据帧,但其类型是RDotNet.DataFrame。 有没有可以在C#代码中将RDotNet.DataFrame转换为Deedle Frame?
我也在考虑创建一个调用R脚本的F#dll库,然后在C#代码中使用该dll库。有可能吗?
答案 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成为可能: - )。