📌  相关文章
📜  在 R DataFrame 中选择具有部分字符串匹配的行

📅  最后修改于: 2022-05-13 01:55:07.075000             🧑  作者: Mango

在 R DataFrame 中选择具有部分字符串匹配的行

在本文中,我们将讨论如何在 R 编程语言中选择具有部分字符串匹配的行。

方法一:使用stringr包

R 语言中的 stringr 包主要用于字符操作、区域敏感操作、更改空格和模式匹配。在这里,我们将使用其模式匹配功能根据部分字符串匹配过滤数据。

示例:此示例说明如何使用 stringr 包提取具有部分匹配的行。

R
# Load library stringr
library("stringr")
 
# sample dataframe
data<- data.frame(names=c('Hello','this','Hell','Geeks',
                          'Geek', 'Geeksforgeeks'))                 
 
# Filter data with str_detect for strings
# containing "Gee"
result1<-data[str_detect(data$name, "Gee"), ]
 
# print result data
result1
 
# Filter data with str_detect for strings
# containing "Hel"
result2<-data[str_detect(data$name, "Hel"), ]
 
# print result data
result2


R
# load data.table package
library("data.table")  
 
# sample dataframe
data<- data.frame(names=c('Hello','this','Hell','Geeks',
                          'Geek', 'Geeksforgeeks'))
 
# Filter data with %like% all strings having "Gee"
result1<-data[data$name %like% "Gee", ]
 
# print result data
result1
 
# Filter data with %like% all strings having "Hel"
result2<-data[data$name %like% "Hel", ]
 
# print result data
result2


输出:

方法二:使用data.table包

Data.table 是 R 中 data.frame 包的扩展。它广泛用于快速聚合大型数据集、低延迟添加/更新/删除列、更快的有序连接和快速文件读取器。在这里,我们将使用它的列数据更新功能来根据部分字符串匹配过滤数据。我们将使用 %like%-运算符来选择字符串匹配数据,并相应地从数据框中过滤数据。

示例:此示例说明如何使用 data.table 包提取具有部分匹配的行。

R

# load data.table package
library("data.table")  
 
# sample dataframe
data<- data.frame(names=c('Hello','this','Hell','Geeks',
                          'Geek', 'Geeksforgeeks'))
 
# Filter data with %like% all strings having "Gee"
result1<-data[data$name %like% "Gee", ]
 
# print result data
result1
 
# Filter data with %like% all strings having "Hel"
result2<-data[data$name %like% "Hel", ]
 
# print result data
result2

输出: