使用Dplyr在R语言中过滤一个字符串列上的多个值
在这篇文章中,我们将学习如何使用Dplyr包在R编程语言中过滤一个字符串列的多个值。
方法1:使用filter()方法
filter() 函数用于选择案例,并根据过滤条件过滤掉这些值。
语法: filter(df, condition)
参数
df: 数据框架对象
条件: 根据这个条件进行过滤
例子: 使用filter()过滤多个值的R程序
library(dplyr)
df <- data.frame(prep = c(11:15),
str = c("Welcome", "to", "Geeks",
"for", "Geeks"),
date=c("Sunday","Monday", "Thursday",
"January","December"))
filter(df,date=='Sunday'| date=='Monday')
输出
prep str date
1 11 Welcome Sunday
2 12 to Monday
方法2:使用带有%in%操作符的filter()。
在这里,首先将你的数据框架对象传递给过滤器函数,然后在条件参数中写上你想过滤多个值的列名,再加上 %in% 操作符,然后传递一个包含你想在结果中得到的所有字符串值的向量。这将产生所有包含指定列中字符串值的行。
语法: filter(df, date %in% c(“星期四”, “一月”, “星期日”))
参数
df: 数据框架对象
条件: column_name %in%值的向量字符串
例子: R程序使用%in%来过滤多个值
library(dplyr)
df <- data.frame(prep = c(11:15),
str = c("Welcome", "to", "Geeks",
"for", "Geeks"),
date=c("Sunday","Monday", "Thursday",
"January","December"))
filter(df, date %in% c("Thursday", "January", "Sunday"))
输出
prep str date
1 11 Welcome Sunday
2 13 Geeks Thursday
3 14 for January
例子: 和上面一样,但在这个例子中,我们执行同样的操作,但对不同的列和不同的值进行操作。
library(dplyr)
df <- data.frame(prep = c(11:15),
str = c("Welcome", "to", "Geeks",
"for", "Geeks"),
date=c("Sunday","Monday", "Thursday",
"January","December"))
filter(df, str %in% c("Geeks", "to"))
输出
prep str date
1 12 to Monday
2 13 Geeks Thursday
3 15 Geeks December
方法3:使用select()方法
对于这个功能,select()函数接受2个参数,第一个是过滤器函数,第二个是列名的矢量。
语法: select(filter(df, condition, columns)
参数
df :数据框架对象
condition: 过滤条件
columns: 你想打印的列名的向量
filter()的工作方式与上面给出的几乎相同,唯一的区别是我们在第二个参数中传递的列名矢量。这将只打印在选择函数中传递的列。通过这种方式,我们可以只打印选定的列。
例子: 打印选定的行
library(dplyr)
df <- data.frame(prep = c(11:15),
str = c("Welcome", "to", "Geeks",
"for", "Geeks"),
date=c("Sunday","Monday", "Thursday",
"January","December"))
select(filter(df, date %in% c("January", "Monday")), c(date,prep))
输出
date prep
1 Monday 12
2 January 14