Evan の Logbook
✨ Updates
🎨 Style Guide
🧠 Creative Resources
🗒️ Mind Notes
🧭 Knowbase
📘 SOPs
🩺 Medical Research
🛠️ Tech Chronicles
💰 Fortune Blueprint
📈 R Visionary
📊 Statistics
🖼️ BioVis
📲mutate():创建新列 + 控制列位置与保留
type
status
date
slug
summary
tags
category
icon
password
comment
mutate() 是 dplyr 中用于添加、修改或替换列的核心函数。从最新版起,它支持通过 .before、.after 和 .keep 参数,精准控制新列插入位置及原始列的保留策略,助你快速构建干净的特征表。1. 函数原型
参数 | 含义 |
... | 一个或多个新列表达式(或对现有列的修改) |
.before | 新列插入到指定列之前(不可与 .after 同时使用) |
.after | 新列插入到指定列之后(不可与 .before 同时使用) |
.keep | 控制保留哪些原始列:• "all":保留所有(默认)• "used":仅保留表达式中用到的原列• "unused":保留未使用的原列• "none":只保留新列 |
2. 示例与场景
先定义示例数据:
2.1 默认行为:保留所有列
- 说明:新增
double_score,默认在最后一列后追加,保留原name、score、age。
2.2 指定插入位置
- 在
score前:
- 在
name后:
2.3 精细保留原列
- 仅保留用到的原列(
score会被用,name、age会去除):
- 只输出新列(完全丢弃原始列):
- 保留未使用的原列(只保留
name、age):
3. 高级技巧
- 若要重排列,可在
mutate()后链入relocate():
- 中间计算:用
.keep = "none"只输出最终特征,避免临时列污染结果表。
- 报告输出:结合
.before/.after,让表格列顺序更直观,便于导出报告。
总结
.before/.after:精准插入新列;
.keep:按需保留原始列,提升特征工程清洁度;
- 与
relocate()、select()等组合,可轻松管理复杂数据框列顺序。掌握这些参数后,你的mutate()就不仅是“加列”,更是“整理整洁的特征表”!
Prev
select():灵活选择列
Next
count():快速计数分组频次
Loading...
YouTube 使用笔记