r - GREP(或类似函数)确定 R 中字符串内部和字符串之间的频率

标签 r

我有一个如下所示的数据集:

s <- c("car, car, car, toy, toy", "toy", "horse, horse", "car, horse")

如果我grep("car", s)我将能够得到[1] 1 4

如果我想获取频率,我可以这样做 length(grep("car", s))

但是,我想知道是否有可能获得一个同时返回元素内部和元素之间模式频率的结果?

例如预期结果如下所示:

[1] 1 1 1 4

和/或

$`car, car, car, toy, toy`
[1] 3

$toy
[1] 0

$`horse, hores`
[1] 0

$`car, horse`
[1] 1

和/或

$`car, car, car, toy, toy`
[1] 3

$`car, horse`
[1] 1

和/或

[[1]]
[1] 3

[[4]]
[1] 1

非常感谢您的回答。非常感谢!!

最佳答案

stringr 包通过 str_count 执行此操作。

stringr::str_count(s, "car")
# [1] 3 0 0 1

关于r - GREP(或类似函数)确定 R 中字符串内部和字符串之间的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55814167/

相关文章:

将逗号分隔的长行读取到 R 中的列

r - R 中带有 LASSO 正则化的序数逻辑回归(或 Beta 回归)?

r - 如何防止 kable 在页面之间拆分?

使用 ggplotly 删除 geom_smooth 置信区间上的边界线

r - 匹配所有内容,直到出现第一个冒号

r - 意外行为 : Removing rows from data frame converts to vector R

r - 如何在 ggtern 中显示数据的真实值 (%)?

R 图 : Scaling node size

r - 查找两个向量之间不重叠的元素

r - 如何合并 R 中的两列?