如何在R中检查列是否包含字符串(附代码)

366 阅读1分钟

你可以使用以下方法来检查R中数据框架的某一列是否包含一个字符串。

方法1:检查列中是否存在精确的字符串

sum(str_detect(df$column_name, '^exact_string$')) > 0

方法2:检查部分字符串是否存在于列中

sum(str_detect(df$column_name, 'partial_string')) > 0

方法3:计算部分字符串的出现次数 在列中的出现次数

sum(str_detect(df$column_name, 'partial_string'))

本教程解释了如何在以下数据框架中实际使用每种方法:

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'C'),
                 conf=c('East', 'East', 'South', 'West', 'West', 'East'),
                 points=c(11, 14, 15, 15, 14, 19))

#view data frame
df

  team  conf points
1    A  East     11
2    A  East     14
3    A South     15
4    B  West     15
5    B  West     14
6    C  East     19

例1:检查列中是否存在精确的字符串

下面的代码显示了如何检查确切的字符串 "Eas "是否存在于数据框架的conf列中:

#check if exact string 'Eas' exists in conf column
sum(str_detect(df$conf, '^Eas$')) > 0

[1] FALSE

输出结果是FALSE

这告诉我们,确切的字符串 "Eas "不存在于conf 列中。

注意:我们用regex符号来表示我们要找的字符串的开始(^)和结束($)字符。

例2:检查部分字符串是否存在于列中

下面的代码显示了如何 检查部分字符串'eas'是否存在 于 数据框架的conf 列中:

#check if partial string 'Eas' exists in conf column
sum(str_detect(df$conf, 'Eas')) > 0

[1] TRUE

输出结果是TRUE

这告诉我们部分字符串'Eas'确实存在于数据框的conf 列中。

例3:计算部分字符串在列中的出现次数

下面的代码显示了如何 计算部分字符串'Eas'在数据框的conf列中出现的次数:

#count occurrences of partial string 'Eas' in conf column
sum(str_detect(df$conf, 'Eas'))

[1] 3

输出结果是3

这告诉我们,部分字符串'Eas'在数据框的conf列中出现了3次。