我有一个大型数据集,本质上是一个频率图表(语言学)。两列 - word
和frequency
。我需要的是在word
列中查找特定字符并返回每行中出现的次数,以便我可以创建一个包含这些值的新列。
示例:
字:aardvark
/一些未知代码:搜索dataset$word
字符'a',返回3.重复所有38k行并创建新列col.a
/
答案 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))