使用 Dplyr 在 R 中的字符串列上过滤多个值
在本文中,我们将学习如何使用 dplyr 包在 R 编程语言中过滤字符串列上的多个值。
方法一:使用 filter() 方法
filter()函数用于选择案例并根据过滤条件过滤掉值。
Syntax: filter(df, condition)
Parameters:
df: Dataframe object
condition: filtering based on this condition
示例:使用 filter() 过滤多个值的 R 程序
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')
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 %in% c("Thursday", "January", "Sunday"))
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, str %in% c("Geeks", "to"))
R
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))
输出:
prep str date
1 11 Welcome Sunday
2 12 to Monday
方法 2:将 filter() 与 %in%运算符
在这种情况下,首先,将您的数据帧对象传递给过滤器函数,然后在条件参数中写入您要过滤多个值的列名,然后放置%in%运算符,然后传递一个包含所有字符串值的向量你想要的结果。这将生成包含指定列中字符串值的所有行。
Syntax: filter(df, date %in% c(“Thursday”, “January”, “Sunday”))
Parameters:
df: dataframe object
condition: column_name %in% vector string of values
示例:使用 %in% 过滤多个值的 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 %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 个参数,第一个是过滤器函数,第二个是列名向量,
Syntax: select(filter(df, condition, columns)
Parameters:
df: dataframe object
condition: filtering condition
columns: vector of column names which you want to print
filter() 的工作方式与上面给出的几乎相同,唯一的区别是我们在第二个参数中传递的列名向量。这仅打印在 select函数中传递的列。这样我们只能打印选定的列。
示例:打印选定的行
电阻
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