如何在 r 中使用 str_match(带有示例)
R 中stringr包的str_match()函数可用于从字符串中提取匹配组。
该函数使用以下语法:
str_match(字符串,模式)
金子:
- 字符串:字符向量
- model:要搜索的型号
下面的例子展示了如何在实际中使用这个功能
示例 1:将 str_match 与 Vector 一起使用
以下代码演示如何使用str_match()函数从字符向量中提取匹配模式:
library (stringr) #create vector of strings x <- c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers') #extract strings that contain 'avs' str_match(x, pattern=' avs ') [,1] [1,] “avs” [2,] “avs” [3,] NA [4,] NA [5,] NA
结果是一个矩阵,其中每行显示匹配模式或NA值(如果未找到模式)。
例如:
- 在第一个元素“Mavs”中找到模式“avs”,因此返回“avs”。
- 在第二个元素“Cavs”中找到模式“avs”,因此返回“avs”。
- 在第三个元素“Heat”中未找到模式“avs”,因此返回 NA。
等等。
示例 2:将 str_match 与数据框结合使用
假设我们在 R 中有以下数据框:
#create data frame
df <- data. frame (team=c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers'),
points=c(99, 104, 110, 103, 115))
#view data frame
df
team points
1 Mavs 99
2 Cavs 104
3 Heat 110
4 Thunder 103
5 Blazers 115
以下代码演示如何使用str_match()函数向数据框中添加新列,该新列可能包含也可能不包含每个团队名称的匹配模式:
library (stringr)
#create new column
df$match <- str_match(df$team, pattern=' avs ')
#view updated data frame
df
team points match
1 Mavs 99 avs
2 Cavs 104 avs
3 Heat 110 <NA>
4 Thunder 103 <NA>
5 Blazers 115 <NA>
标记为match的新列包含“avs”或 NA 模板,具体取决于模板是否位于团队列中。
其他资源
以下教程解释了如何在 R 中执行其他常见任务:
如何在 R 中使用 str_replace
如何在 R 中使用 str_split
如何在 R 中使用 str_detect
如何在 R 中使用 str_count
如何在 R 中使用 str_pad