R语言 通过给定条件过滤DataFrame列
在这篇文章中,我们将看到如何通过给定的条件在R编程语言中选择数据框架列。R数据框架列可以受到约束,并产生较小的子集。然而,当条件被应用时,以下属性被保持。
- 数据框架的行保持不被修改。
- 数据框架的属性被保留下来。
- 输出列是输入列的一个子集。
方法1:使用索引方法
聚合方法可以在数据框架的列上应用,满足表达式评估的列作为输出返回。结果数据框是数据框的一个子集,其中所选列的所有行都被保留。修改后的数据框必须存储在一个新的变量中,以便保留变化。例如,colSums()被用来计算属于某一列的所有元素的总和。
例1: 下面的程序返回其元素之和大于10的列。
输出
例2: 下面的程序检查col1的值与2的模数运算是否不等于0。
输出
方法2:使用dplyr包
dplyr库可以被安装并加载到工作空间,用来进行数据操作。
select_if()函数用于生成数据框的一个子集,保留所有满足指定条件的行。R中的select_if()方法既可以应用于分组的数据,也可以应用于未分组的数据。表达式包括比较运算符(==, >, >= ),逻辑运算符(&, |, !, xor()),范围运算符(between(), near()),以及针对列值的NA值检查。子集数据框必须保留在一个单独的变量中。
例1: 下面的程序返回数据框架的数字列,当受到select_if()方法的影响。
输出
例2: 下面的程序返回其元素之和小于10的列。
输出
方法3:使用subset()方法
subset()方法可以用来返回一个满足指定约束条件的记录集。subset()方法并不修改行的出现顺序。
语法: subset ( df , condition)
参数:
- df – 数据框架
- condition – 要应用的约束条件
%in%操作符可以用来检查值是否出现在一个值的向量中。返回一个布尔值,取决于该元素是否存在。
输出