R语言 数据框架中选择部分字符串匹配的行
在这篇文章中,我们将讨论如何在R编程语言中选择部分字符串匹配的行。
方法1:使用stringr包
R语言中的stringr包主要用于字符操作、局部敏感操作、改变空白处和模式匹配。在这里,我们将使用它的模式匹配功能,根据部分字符串匹配来过滤数据。
语法
df[str_detect(df$column-name, "Pattern"), ]
参数
- df: 决定了正在使用的数据框架。
- column-name: 决定了要过滤的字符串的列。
- Pattern: 决定了需要匹配的字符串模式。
例子: 这个例子解释了如何使用stringr包提取部分匹配的行。
# 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(dataname, "Gee"), ]
# print result data
result1
# Filter data with str_detect for strings
# containing "Hel"
result2<-data[str_detect(dataname, "Hel"), ]
# print result data
result2
输出
[1] “Geeks” “Geek” “Geeksforgeeks”
[1] “Hello” “Hell”
方法2:使用data.table包
Data.table是R语言中data.fram包的一个扩展,它被广泛用于大数据集的快速聚合、列的低延迟添加/更新/删除、更快的有序连接,以及快速的文件阅读器。在这里,我们将使用它的列的数据更新功能,根据部分字符串匹配来过滤数据。我们将使用%like%-operator来选择字符串匹配的数据,并相应地从数据框中过滤数据。
语法
df[df$column-name %like% "Pattern", ]
参数
- df: 决定了正在使用的数据框架。
- column-name: 决定了要过滤的字符串的列。
- Pattern: 决定了需要匹配的字符串模式。
例子: 这个例子解释了如何使用data.table包提取部分匹配的行。
# 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[dataname %like% "Gee", ]
# print result data
result1
# Filter data with %like% all strings having "Hel"
result2<-data[dataname %like% "Hel", ]
# print result data
result2
输出
[1] “Geeks” “Geek” “Geeksforgeeks”
[1] “Hello” “Hell”
极客教程