使用Dplyr在R语言中通过多个条件过滤数据 |
您所在的位置:网站首页 › r语言两列数据作用一个函数 › 使用Dplyr在R语言中通过多个条件过滤数据 |
使用Dplyr在R语言中通过多个条件过滤数据
在这篇文章中,我们将学习如何在R编程语言中使用dplyr包按多个条件过滤数据框。 filter() 函数被用来产生一个数据框架的子集,保留所有满足指定条件的行。R编程语言中的filter()方法可以应用于分组和未分组的数据。表达式包括比较运算符(==, >, >=),逻辑运算符(&, |, !, xor()),范围运算符(between(), near()),以及针对列值的NA值检查。子集数据框必须保留在一个单独的变量中。 方法1:直接使用 filter()对于这一点,只需将要检查的条件传递给filter函数,该函数会自动检查数据框,并检索出满足条件的行。 语法 :filter(df , condition) 参数: df: 数据框架对象 条件: 根据该条件进行过滤 例子: 使用filter()函数过滤行的R程序 library(dplyr) # sample data df=data.frame(x=c(12,31,4,66,78), y=c(22.1,44.5,6.1,43.1,99), z=c(TRUE,TRUE,FALSE,TRUE,TRUE)) # condition filter(df, x%和filter()。当你在处理 大的条件集时,这种方法被认为是一种比较干净的方法,因为数据框架是用%>%来引用的,然后通过filter()函数来应用条件。 语法: df %>% filter ( condition ) 参数 df : 数据框架对象 条件 :根据该条件进行过滤 例子: 使用%>%过滤的R程序 library(dplyr) df=data.frame(x=c(12,31,4,66,78), y=c(22.1,44.5,6.1,43.1,99), z=c(TRUE,TRUE,FALSE,TRUE,TRUE)) df %>% filter(y < 45, z != FALSE)输出 x y z 1 12 22.1 TRUE 2 31 44.5 TRUE 3 66 43.1 TRUE 方法3:用过滤器()使用NAis.na() 函数接受一个值,如果它是一个 NA 值,则返回 TRUE ,如果它不是一个 NA 值,则 返回 FALSE 。 语法: df %>% filter(!is.na(x)) 参数: is.na() : 要求检查该值是否为NA值 x :数据框架对象的列。 示例: 使用NA过滤数据框架的R程序 library(dplyr) df=data.frame(x=c(12,31,NA,NA,NA), y=c(22.1,44.5,6.1,10,99), z=c(TRUE,TRUE,FALSE,TRUE,TRUE)) df %>% filter(!is.na(x))输出 x y z 1 12 22.1 TRUE 2 31 44.5 TRUE 方法4:使用 ‘%in%’ 运算符和filter()。%in% 运算符用于只过滤出包含向量中提供的数据的列。 语法: filter( column %in% c("data1", "data2″.... "data N")) 参数 column :数据框架的列名 c("data1", "data2″.... "data N"): 一个包含要找到并打印的数据名称的向量。 例子: R程序使用%in% 来过滤数据框架 library(dplyr) df=data.frame(x=c(12,31,10,2,99), y=c(22.1,44.5,6.1,10,99), z=c("Apple","Guava", "Mango", "Apple","Mango")) df %>% filter(z %in% c("Apple", "Mango"))输出 x y z 1 12 22.1 Apple 2 10 6.1 Mango 3 2 10.0 Apple 4 99 99.0 Mango |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |