如何在字符串中搜索特定字符并返回多次出现?

时间:2017-04-14 03:46:25

标签: r

我有一个大型数据集,本质上是一个频率图表(语言学)。两列 - wordfrequency。我需要的是在word列中查找特定字符并返回每行中出现的次数,以便我可以创建一个包含这些值的新列。

示例:

字:aardvark

/一些未知代码:搜索dataset$word字符'a',返回3.重复所有38k行并创建新列col.a /

2 个答案:

答案 0 :(得分:2)

在stringr库中使用str_count:

library(stringr)

# example data
df <- data.frame(word = c("aardvark", "digest", "arc", "abandon"), 
             frequency = c(5, 6, 7, 4))

# count occurrence of letter a in every word             
df$a <- str_count(df$word, "a")

答案 1 :(得分:0)

我们也可以使用base R来执行此操作

df$a <- sapply(gregexpr("a", df$word),function(x) sum(x>0))