首页 > 解决方案 > R.NET 获取 Pairlist 值或将 Pairlist 解析为 Dictionary

问题描述

我有以下问题。在我的 R 脚本中,我有一个名为 main 的函数,它返回如下 KeyValue 对,如下所示:

main <- function() {
  return(
    list(
      "testOne" = "One",
      "testTwo" = "Two",
      "testThree" = "Three"
    )
  )
}

我使用 R.NET (REngine) 从我的 C# 调用它。但是,似乎我无法得到正确的结果。我相信这个列表的正确 C# 结构是 Dictionary,但我只能得到这个列表的键。

evaluatedData = _engine.Evaluate(functionCall);
var pairs = evaluatedData.AsList().ToPairlist();
foreach (var data in pairs) {
    //data.PrintName is key
    var key = data.PrintName;
    var value = data.Value.AsSymbol().PrintName;
}

使用此代码,键变量实际上是来自上述 R 脚本的键(在我的情况下"testOne"为 , ) "testTwo""testThree"但是,值是符号类型。但是如果我在这个 Symbol 类型上使用 PrintName,我会得到一些像这样的乱码:"�\u001e���\u0001"

我的问题是......我怎样才能从上面的 R 脚本中获得字典?或者,我怎样才能从 PairList 中获取字符串形式的值?

标签: c#r.net-corer.net

解决方案


推荐阅读