c# -将R数据帧转换为数据帧

本文关键字:数据帧 转换 | 更新日期: 2023-09-27 18:17:39

我有一个c#应用程序,它需要一个Deedle Frame作为输入数据。我也有一个R脚本返回数据帧,我不想通过c#在R脚本中重新实现算法。我尝试使用rnet,我可以在c#应用程序中从R脚本中获得数据帧,但它的类型是RDotNet.DataFrame。有任何转换RDotNet。c#代码中的数据框架到指针框架?

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

c# -将R数据帧转换为数据帧

如果你使用f#中的Deedle,那么你也可以使用R类型提供程序。两者很好地集成在一起,您可以从f#调用R并返回一个Deedle数据框架。在Deedle文档中有一个很好的例子。

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

open RProvider.datasets
// Get mtcars as a typed Deedle frame
let mtcars : Frame<string, string> = R.mtcars.GetValue()

在R provider和Deedle中进行转换的源代码也可以获得。因此,如果您想直接使用它,可以从Deedle源代码中的tryCreateFrame函数开始。

目前还没有真正暴露在c#中,但我们当然欢迎拉请求使Deedle成为可能:-)。