3

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

我还在考虑创建一个调用 R 脚本的 F# dll 库,然后在 C# 代码中使用该 dll 库。是否可以?

4

1 回答 1

1

如果您使用 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 提供程序和 Deedle 中进行转换的源代码也可用。所以如果你想直接使用它,就从Deedle 源码tryCreateFrame中的函数入手。

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

于 2015-10-14T14:27:21.727 回答