计算数据帧R中的字符串频率

德雷珀

我想计算数据框中某些字符串的频率。

strings  <- c("pi","pie","piece","pin","pinned","post")
df <- as.data.frame(strings)

然后,我想计算一下字符串的频率:

counts <- c("pi", "in", "pie", "ie")

给我这样的东西:

string  freq
 pi       5
 in       2
 pie      2
 ie       2

我已经尝试过了grepltable但是看不到如何指定要搜索的字符串。

克莱门斯

您可以使用sapply()counts和每一个项目中匹配countsstringsdf使用grepl(),这将返回一个logical向量(TRUE如果匹配,FALSE如果不匹配)。您可以对该向量求和以得到匹配数。

sapply(df, function(x) {
  sapply(counts, function(y) {
    sum(grepl(y, x))
  })
})

这将返回:

    strings
pi        5
in        2
pie       2
ie        2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章