開始使用免費開始

回傳中繼資料

有時候你想從函式回傳多個東西,但你又希望結果有特定的類別(例如 data frame 或 numeric 向量),這時回傳 list 就不合適。當你同時有主要結果與關於該結果的中繼資料時,這種情況很常見。(中繼資料是「關於資料的資料」。例如資料集是從哪個檔案載入的、建立該變數的使用者名稱、或是某個演算法收斂所需的迭代次數等。)

這種情況下,你可以把中繼資料存放在屬性裡。回想一下指定屬性的語法如下:

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
___
編輯並執行程式碼