« [C#]R.NETを使う(導入) | トップページ | [Haskell]関数型の遅延評価って »

[C#]R.NETを使う(書き方)

C#でRを利用しようとした場合の備忘録 書き方

using (var engine = REngine.GetInstance())
{
    var rData = engine.CreateNumericVector(data.Select(d => d.open));
    engine.SetSymbol("data", rData);
    engine.Evaluate(@"
        data.ts <- ts(data,freq=365,start=c(2001,1))
        decomp <- decompose(data.ts)
        trend <- decomp$trend
        seasonal <- decomp$seasonal
        random <- decomp$random");
    var trend = engine.GetSymbol("trend").AsNumeric().ToArray();
    var seasonal = engine.GetSymbol("seasonal").AsNumeric().ToArray();
    var random = engine.GetSymbol("random").AsNumeric().ToArray();
}

REngineのCreateXXXメソッドで、C#のデータをR.NETのデータに変換

SetSymbolメソッドで、R.NETのデータをRで処理できるようにシンボルを設定

Rのコードは、Evaluateメソッドで実行

Rのシンボルは、GetSymbolメソッドでR.NETのデータとして取得し、
AsXXXメソッドで、C#のデータとして扱えるように変換

« [C#]R.NETを使う(導入) | トップページ | [Haskell]関数型の遅延評価って »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: [C#]R.NETを使う(書き方):

« [C#]R.NETを使う(導入) | トップページ | [Haskell]関数型の遅延評価って »

2019年10月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
無料ブログはココログ