返回元数据
有时您希望从函数返回多项内容,但又希望结果具有特定的类(例如 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
___