R语言【dplyr】——filter保留符合筛选条件的行,以数据的行为单位,创建子集

本文主要是介绍R语言【dplyr】——filter保留符合筛选条件的行,以数据的行为单位,创建子集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Package dplyr version 1.1.4


Parameters

filter(.data, ..., .by = NULL, .preverse = FALSE)

参数【.data】:一个数据集(data frame),数据集扩展(比如:tibble),或者 lazy data frames(比如:来自 dbplyr 或 dtplyr)。

参数【...】:数据过滤表达式(data-masking expression),返回的是逻辑值,根据参数【.data】中的变量进行定义。如果包含多个表达式,则使用 & 运算符合并。只保留所有条件判断均为 TRUE 的记录

参数【.by】:<tidy-select>可选的,仅用于此操作的列分组选择,可替代 group_by()

参数【.preserve】:与参数【.data】分组时相关。如果 .preserve = FALSE(默认值),分组结构将根据生成的数据重新计算,否则分组结构将保持不变。


Tips

filter() 函数用于创建参数【.data】的子集行,将参数【...】中的表达式应用于列值,以确定应保留哪些行。它既可应用于分组数据,也可应用于未分组数据。然而,dplyr 还不够智能,无法优化不需要分组计算的分组数据集的过滤操作。因此,过滤未分组数据的速度通常要快得多。


Value

filter() 函数返回一个与参数【.data】相同类型的对象。输出结果具有以下属性:

  • 行是输入的子集,但以相同的顺序出现。
  • 列未作修改。
  • 组的数量可能会减少(如果参数【.preserve】不是 TRUE)。
  • 数据集属性保留不变。

Available filter

在构建用于过滤数据的表达式时,有许多函数和运算符非常有用:

  • ==,>,>= 等等
  • &,|,!,xor()
  • is.na()
  • between(),near()

Process groups

由于过滤表达式是在组内计算的,因此在分组的 tibbles 上可能会产生不同的结果。只要涉及聚合、滞后或排序功能,就会出现这种情况。

比较一下未分组的过滤:

starwars %>% filter(mass > mean(mass, na.rm = TRUE))

再理解一下分组的过滤:

starwars %>% group_by(gender) %>% filter(mass > mean(mass, na.rm = TRUE))

在未分组版本中,filter() 将每一行的 mass 值与全局平均值(整个数据集的平均值)进行比较,只保留 mass 大于全局平均值的行。与此相反,分组版本会分别计算每个 gender 组的平均 mass ​​​​​​​,并保留 mass 大于相关性别内平均值的行。

这篇关于R语言【dplyr】——filter保留符合筛选条件的行,以数据的行为单位,创建子集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/528608

相关文章

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的