gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 17:10:37 25 4
gpt4 key购买 nike

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

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 并将 counts 中的每个项目与 strings 匹配df 中的列使用 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

关于r - 计算数据帧 R 中字符串的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49552174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com