🧭relocate():调整列顺序

type
status
date
slug
summary
tags
category
icon
password
comment
relocate()dplyr 中用于改变列的排列位置的函数。与 select() 不同,它不删除或新增列,只做“换位”操作,非常适合在生成报告、导出表格前优化列结构。

1. 函数原型

参数
说明
...
要移动的列(列名、下标、或 tidyselect 辅助函数)
.before
将选中列插入到指定列之前(与 .after 二选一)
.after
将选中列插入到指定列之后

2. 示例数据


3. 典型用法

3.1 将单列移动到最前

效果score 列被移到第 1 列位置,其余列保持原顺序。

3.2 移动到指定列之后

效果score 列出现在 id 之后。

3.3 一次移动多列

效果scoregroup 列都被移动到 name 之前,且顺序为 (score, group)

3.4 结合辅助函数

将所有字符型列(如 name, group)移到最后:

4. 高级技巧

  • select() 区别select() 可以增删列及重排,relocate() 专注于微调,操作更轻量。
  • 多种 tidyselect:支持 starts_with("prefix")contains("text")matches() 等。
  • 管道链中使用:在 filter()mutate() 后直接 relocate(),保持顺序逻辑。
  • 报告导出前置:最后一步统一整理列顺序,确保表格字段更易阅读。

小结
通过 .before.afterrelocate() 能让你轻松将关键列置前或置后;配合 tidyselect 辅助函数,则能一次批量调整多列位置,进一步提升数据框的可读性与美观度。
Prev
group_by():分组操作的基础
Next
select():灵活选择列
Loading...
Article List
Evan の Logbook
✨ Updates
🎨 Style Guide
🧠 Creative Resources
🗒️ Mind Notes
🧭 Knowbase
📘 SOPs
🩺 Medical Research
🛠️ Tech Chronicles
💰 Fortune Blueprint
📈 R Visionary
📊 Statistics
🖼️ BioVis