始める無料で始める

メタデータを返す

関数から複数の情報を返したい一方で、結果に特定のクラス(たとえば data frame や numeric ベクトル)を保たせたい場合、リストで返すのは適切でないことがあります。これは、結果本体に加えて、その結果に関するメタデータを持たせたいときによくあります。(メタデータは「データについてのデータ」です。たとえば、データセットを読み込んだ元ファイル、変数を作成したユーザー名、アルゴリズムが収束するまでの反復回数などが該当します。)

そのような場合は、メタデータを属性に保存できます。属性を代入する構文を思い出しましょう。

attr(object, "attribute_name") <- attribute_value

この演習はコースの一部です

R関数入門

コースを見る

演習の手順

  • pipeable_plot() を更新し、結果に "formula" という名前の属性を追加し、その値として formula を設定します。
  • 以前に作成した plt_dist_vs_speed が表示されています。更新後の構造を確認しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

pipeable_plot <- function(data, formula) {
  plot(formula, data)
  # Add a "formula" attribute to data
  ___ <- ___
  invisible(data)
}

# From previous exercise
plt_dist_vs_speed <- cars %>% 
  pipeable_plot(dist ~ speed)

# Examine the structure of the result
___
コードを編集して実行