2016-04-05 12 views
0

私はいくつかのRコードスクリプトをRDotNetライブラリ経由でC#コードに変換しようとしています。 大きな部分を変換できましたが、C#でdata.tableを作成する際に問題があります。 上記は私のコードの例である:私は変数MYDATAを使用する場合、私は例外RDotNetを使用して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); 

変換できませんタイプSystem.Collections.Generic.List`1 [可能System.String] [] Rベクトルへ

+0

私はC#を話しませんが、この関数は 'CreateDataFrame'と呼ばれているので、data.tableではなくdata.frameを作成すると仮定します。 – Roland

答えて

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); 
関連する問題