Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用RDotNet创建data.table_C#_R_R.net - Fatal编程技术网

C# 使用RDotNet创建data.table

C# 使用RDotNet创建data.table,c#,r,r.net,C#,R,R.net,我正试图通过RDotNet库将一些R代码脚本转换成C代码。 我能够转换很大一部分,但在C#中创建data.table时出现了一个问题。 以上是我的代码示例: Dictionary<string, List<string>> myDic = new Dictionary<string, List<string>>(); // populate the dictionary var colNames = new List<string>()

我正试图通过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);
Dictionary myDic=newdictionary();
//填充字典
var colNames=new List(){“col1”,“col2”};
IEnumerable[]列=新的IEnumerable[2];
列[0]=myDic.Keys;
第[1]列=myDic.值;
var mydata=engine.CreateDataFrame(columns.ToArray(),colNames.ToArray(),stringsAsFactors:false);
当我使用变量mydata时,出现了一个异常

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


是否确实要创建包含每个单元格中字符串列表的dataframe列?这不是在R中创建数据帧的方式。当您将
字典
替换为
字典
时,下面的代码起作用

Dictionary myDic=新字典(){
{“a”,“aaaa”},
{“b”,“bbbb”},
{“c”,“cccc”}
};
//填充字典
var colNames=new List(){“col1”,“col2”};
IEnumerable[]列=新的IEnumerable[2];
列[0]=myDic.Keys.ToArray();
列[1]=myDic.Values.ToArray();
REngine engine=REngine.GetInstance();
var mydata=engine.CreateDataFrame(列,colNames.ToArray(),stringsAsFactors:false);
我不会说C#,但函数名为
CreateDataFrame
,所以我假设它创建的是data.frame而不是data.table?
        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);