如何在使用RdotNet时访问c#中的类ets变量

时间:2014-12-22 06:27:18

标签: c# r time-series forecasting r.net

配合< -ets(myts)

其中myts是使用ts()函数定义的时间序列。现在我想读取输出参数,如平滑参数alpha,beta和初始状态以及ets()函数选择的模型类型(例如:(A,N, N))...我如何在c#中做到这一点?我正在使用R.Net。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

函数ets的结果是一个列表,所以只需将它强制转换为C#中的列表。请参阅https://github.com/jmp75/rdotnet-onboarding

下的SupportSamples
    static void stackoverflow_27597542_2752565 (REngine engine)
    {
        var createModel = @"
        set.seed(0)
        x <- ts(rnorm(100))
        library(forecast)
        blah <- ets(x)
        # str(blah)
        ";
        engine.Evaluate (createModel);
        var m = engine.GetSymbol ("blah").AsList ();
        var components = m ["components"].AsCharacter ().ToArray ();
        for (int i = 0; i < components.Length; i++) {
            Console.WriteLine ("m$components[{0}] = {1}", i + 1, components [i]);
        }
    }