2

tsibble と列名を取り、いくつかの基本的なモデルに適合し、最終的にプロットを出力する R 関数を作成しようとしています (ただし、プロット部分はこの質問の主題ではありません)。

この時点で、次のコードを機能させることができません。

base_line_models <- function(dataframe, column) {
  col_name <- enquo(column)
  #col_name  <- as.name(column)

  
  df_fit <- dataframe %>%
    model(
      Mean = MEAN(!!col_name),
      `Naïve` = NAIVE(!!col_name),
      Drift = NAIVE((!!col_name) ~ drift())
    )
  
  return(df_fit)
}

base_line_models(souvenirs, 'Sales')
# using the souvenirs tsibble from the fpp3 package

それは戻ります: Error: 'call' must be a quoted call 、私は無駄に検索しましたが、私には意味がありません。なぜなら、私が見ることができるすべてのものから、関数を呼び出しているからです

これは、R が関数内でデータフレームを処理する方法に関係していると感じたので、 /呼び出しの代わりに{{column}}andを使用してみましたが、うまくいきませんでした。{{col_name}}enquo()!!column

公正な警告、私は Python の男なので、私のアプローチは標準的な R 運賃ではないかもしれません。私のアプローチが間違っている場合は、遠慮なく指摘してください。

4

1 に答える 1