0

我正在尝试通过 RDotNet 库将一些 R 代码脚本转换为 C# 代码。我能够转换很大一部分,但在 C# 中创建 data.table 时出现问题。以上是我的代码示例:

Dictionary<string, List<string>> myDic = new Dictionary<string, List<string>>();
// populate the dictionary
var colNames = new List<string>() { "col1", "col2"};
IEnumerable[] columns = new IEnumerable[2];
columns[0] = myDic.Keys; 
columns[1] = myDic.Values;

var mydata = engine.CreateDataFrame(columns.ToArray(), colNames.ToArray(), stringsAsFactors: false);

当我使用变量 mydata 时,出现异常

无法将类型 System.Collections.Generic.List`1[System.String][] 转换为 R 向量

4

1 回答 1

0

您确定要创建一个包含每个单元格中的字符串列表的数据框列吗?这不是您在 R 中创建数据框的方式。下面的代码在您替换Dictionary<string,List<string>>Dictionary<string,string>.

        Dictionary<string, string> myDic = new Dictionary<string, string>() {
            { "a","aaaa"},
            { "b","bbbb"},
            { "c","cccc"}
        };
        // populate the dictionary
        var colNames = new List<string>() { "col1", "col2" };
        IEnumerable[] columns = new IEnumerable[2];
        columns[0] = myDic.Keys.ToArray();
        columns[1] = myDic.Values.ToArray();

        REngine engine = REngine.GetInstance();
        var mydata = engine.CreateDataFrame(columns, colNames.ToArray(), stringsAsFactors: false);
于 2016-12-12T12:59:46.980 回答