与 R 连接的 C# 中的数据帧处理



我正在尝试通过WPF应用程序处理R中的数据帧。我使用 RDotNet 作为 R 和 C# 之间的接口,我的代码片段如下

DataFrame mapp = engine_1.Evaluate("mapp").AsDataFrame();

我无法获取特定的列或行,即无法实现 mapp[1] 类型索引。将返回整个数据框。

如果有人能提出任何方法,我将不胜感激,我正在探索Deedle并使用DataGrid控件。

谢谢!

好吧,如果 R 中的 mapp 变量确实是一个数据框(我们无法从您的代码段中分辨出来),它确实应该作为数据框返回,有什么惊喜?您可以通过单个项目索引、整数或列名称访问它。

// cases <- expand.grid(x=1:3, y=letters[1:3])
var letterCases = engine.Evaluate("cases[,'y']").AsCharacter().ToArray();
// Equivalent:
var df = engine.GetSymbol("cases").AsDataFrame();
letterCases = df[1].AsCharacter().ToArray();
letterCases = df["y"].AsCharacter().ToArray();

可以在解决方案/板载示例 2 下找到示例用法,包括(但可选)C# 和 R 的一些更高级的网格划分,请参阅本入门指南。