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

本文关键字:访问 变量 ets RdotNet | 更新日期: 2023-09-27 18:35:06

fit<-ets(myts)

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

任何帮助将不胜感激。

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

函数 ets 的结果是一个列表,所以在 C# 中也将其强制为列表即可。请参阅 https://github.com/jmp75/rdotnet-onboarding 下的支持示例

    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]);
        }
    }