- 0
- 0
- 约6.57千字
- 约 13页
- 2026-01-20 发布于上海
- 举报
R语言的“dplyr”数据操作
一、dplyr的基础认知:数据操作的“底层逻辑”
(一)dplyr的简介与生态定位
在R语言的数据分析生态中,dplyr是一颗“明星包”——它隶属于tidyverse生态系统(由HadleyWickham及其团队开发的一系列数据科学工具包集合),专注于高效、简洁的数据操作。与baseR(R的基础包)相比,dplyr的优势在于:语法更直观、逻辑更一致、速度更快,尤其适合处理结构化数据(如表格数据)。
要使用dplyr,首先需要安装(仅需一次):在R控制台输入install.packages(tidyverse)(tidyverse包含dplyr及其他常用包,如ggplot2可视化、tidyr数据整理),或单独安装dplyr(install.packages(dplyr))。安装完成后,用library(tidyverse)或library(dplyr)加载包——加载tidyverse会自动引入dplyr,因此无需重复操作。
(二)dplyr的核心哲学:整洁数据与动词优先
dplyr的设计遵循两大核心思想,这也是它区别于其他数据操作工具的关键:
整洁数据(TidyData):这是tidyverse的底层逻辑,要求数据满足三个条件——每个变量占一列(如“年龄”是一个变量,单独成列)、每个观测占一行(如“张三的年龄”是一个观测,对应一行)、每个值占一个单元格(如“张三的年龄25”是一个值,对应一个单元格)。现实中的原始数据常不满足这一点(比如将“数学”“语文”作为列名的成绩表),需先用tidyr包整理成整洁格式(如用pivot_longer将科目列转换为行),再用dplyr操作。
动词优先(Verb-First):dplyr将所有数据操作转化为明确的“动词”,每个动词只做一件事,且语法高度一致。比如“选择变量”用select、“筛选行”用filter、“新增变量”用mutate——这些动词像日常对话中的“动作”,直接描述你对数据的操作意图。这种设计大幅降低了记忆成本:你不需要记复杂的函数名,只需想“我要做什么”,就能找到对应的动词。
二、dplyr的核心动词:数据操作的“基本动作”
dplyr的核心功能围绕六个基础动词展开,它们覆盖了90%以上的日常数据操作需求。
(一)选择变量:select——留下需要的“列”
select的作用是从数据框中选择或排除变量,语法为select(数据框,变量条件)。它支持多种灵活的选择方式:
直接选变量:select(df,姓名,年龄)(从df中选“姓名”“年龄”列);
用辅助函数选变量:starts_with(前缀)(选前缀匹配的变量,如starts_with(身)选“身高”“体重”)、ends_with(后缀)(选后缀匹配的变量,如ends_with(龄)选“年龄”“工龄”)、contains(关键词)(选包含关键词的变量,如contains(成绩)选“数学成绩”“语文成绩”);
排除变量:用减号-开头,如select(df,-年龄)(排除“年龄”列)、select(df,-starts_with(身))(排除所有前缀为“身”的变量)。
举个例子:若数据框students包含“姓名”“年龄”“性别”“身高_cm”“体重_kg”“数学成绩”,要选“姓名”“数学成绩”及所有含“身”的变量,可写select(students,姓名,数学成绩,starts_with(身))。
(二)筛选行:filter——留下需要的“观测”
filter的作用是按逻辑条件筛选行,语法为filter(数据框,逻辑条件)。逻辑条件支持(且)、|(或)、!(非)组合,也可使用%in%(属于某集合)、between()(在区间内)等辅助函数:
基本条件:filter(students,年龄18)(选年龄18的行)、filter(students,性别==女数学成绩=90)(选女生且数学≥90的行);
集合条件:filter(students,班级%in%c(一班,二班))(选一班或二班的学生);
区间条件:filter(students,between(年龄,16,20))(选年龄在16-20岁之间的学生)。
需注意,filter会自动排除含NA(缺失值)的行,若要保留NA,需用is.na()函数(如filter(students,is.na(年龄))选年龄为NA的行)。
(三)排序:arrange——让数据“有秩序”
arrange的作用是按变量排序,语法为arrange(数据框,变量1,变量2),默认升序排列。若要降序,在变量前加desc()函数:
arrange(students,年龄)(按年龄升序);
arrange(stu
您可能关注的文档
- 2025年企业文化师考试题库(附答案和详细解析)(1231).docx
- 2025年婚姻家庭咨询师考试题库(附答案和详细解析)(1230).docx
- 2025年工程咨询专业技术资格考试题库(附答案和详细解析)(1227).docx
- 2026展望:资本加速AI应用落地,科技巨头不再“炫技”.docx
- 2026年保荐代表人资格考试考试题库(附答案和详细解析)(0106).docx
- 2026年公证员资格考试题库(附答案和详细解析)(0102).docx
- 2026年国际金融市场从业资格(ICMA)考试题库(附答案和详细解析)(0101).docx
- 2026年注册信息安全经理(CISM)考试题库(附答案和详细解析)(0107).docx
- 2026年注册核工程师考试题库(附答案和详细解析)(0103).docx
- 2026年注册环境影响评价工程师考试题库(附答案和详细解析)(0107).docx
最近下载
- SL677-2014 水工混凝土施工规范.docx VIP
- 2024-2034年中国医疗人工智能行业投资潜力分析及行业发展趋势报告.docx
- 平顶山工业职业技术学院《高等数学(D)》2025 - 2026学年第一学期期末试卷.docx VIP
- 110kV变电站专项电气试验及调试方案.doc VIP
- 对外汉语考试试题及答案.docx VIP
- COUPLER微血管吻合器课件.pptx VIP
- GB 7594.1-1987 电线电缆橡皮绝缘和橡皮护套 第1部分一般规定-国家标准.pdf VIP
- 110kV送变电工程启动调试与试运行操作指南及案例解析.docx VIP
- 心衰合并肾功能不全的护理难点与解决方案.pptx VIP
- 关于2024年度民主生活会整改措施落实情况及2025年深入贯彻中央八项规定精神学习教育查摆问题整改情况的通报.docx VIP
原创力文档

文档评论(0)