如何检查R数据帧列中是否存在特定单词?

如果我们在R数据帧中有一个字符列,那么我们可能要检查该列中是否存在特定值。例如,如果我们有一个“性别”列,那么我们可能要检查该列中是否存在变性者。这可以在grepl函数的帮助下完成。查看以下示例以了解其工作原理。

考虑以下数据帧-

示例

x<-sample(c("Mazda","Merc","Fiat"),20,replace=TRUE)
df1<-data.frame(x)
df1
输出结果
   x
1  Fiat
2  Merc
3  Fiat
4  Merc
5  Merc
6  Fiat
7  Fiat
8  Fiat
9  Mazda
10 Fiat
11 Mazda
12 Mazda
13 Fiat
14 Fiat
15 Mazda
16 Mazda
17 Merc
18 Merc
19 Mazda
20 Merc

检查Merc是否存在于df1的x列中-

示例

grepl("Merc",df1$x)
输出结果
[1]  FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[13] FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE

示例

y<-sample(c("Hotel","Motel","Restaurant"),20,replace=TRUE)
df2<-data.frame(y)
df2
输出结果
   y
1  Motel
2  Hotel
3  Motel
4  Motel
5  Hotel
6  Hotel
7  Motel
8  Motel
9  Hotel
10 Hotel
11 Restaurant
12 Restaurant
13 Motel
14 Hotel
15 Motel
16 Hotel
17 Hotel
18 Restaurant
19 Hotel
20 Hotel

检查Motel是否存在于df2的y列中-

示例

grepl("Motel",df2$y)
输出结果
[1] TRUE FALSE TRUE TRUE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE
[13] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE