R for data science 第19章 使用purrr和broom处理多个模型
19.1 简介19.2 列表列列表列是隐式定义在数据框中的:数据框是由相同长度的向量组成的命名列表。一个列表就是一个向量,因此将列表作为数据框的一列是完全合理的。 在 R 基础包中创建列表列是非常困难的,而且 data.frame() 函数是将列表作为列的列表来处理的 列表列的最大用处是作为一种中间数据结构。要想直接处理列表列是比较困难的,因为大多数 R 函数只能处理原子向量或数据框。但列表列可以将相关项目统一保存在一个数据框中 要想有效地使用列表列,需要 3 个步骤
19.3 创建列表列19.4 简化列表列在将列表列还原为简单结构时,根据想要将列表列的一个元素转换为单个值还是多个值,再决定使用哪种技术。 可以使用 map_*() 快捷方式,例如,你可以使用 map_chr(x, "apple") 从 x的每个元素中提取变量 中的内容。这种方法可以提取嵌套列表中的一部分,并使结果成为普通列。如果元素中有缺失值,还可以使用 .null 参数提供一个返回值(而不是返回 NULL) 嵌套还原
19.5 使用broom生成整洁数据broom 包提供了 3 种常用工具,用于将模型转换为整洁数据框。 broom::glance(model) 为每个模型返回一行数据,其中每一列都是模型的一个摘要统计 量:要么是模型质量的度量方式,要么是模型复杂度,又或者是二者的组合。 broom::tidy(model) 为模型的每个系数返回一行数据,其中每一列都是系数的估计值或变异指标。 broom::augment(model, data)返回data中的每一行,但会添加一些额外信息,如残差 以及其他一些有影响的统计量。
|