gpt4 book ai didi

r - 字符向量中字符的快速计数

转载 作者:行者123 更新时间:2023-12-04 12:21:17 28 4
gpt4 key购买 nike

我有一个很长的单个字符向量,即 somechars<-c("A","B","C","A"...) (长度在数百万左右)

我可以计算这个向量中“A”和“B”的总出现次数的最快方法是什么?
我试过使用 greplapply但它们都需要很长时间才能执行。

我目前的解决方案是:

tmp<-table(somechars)
sum(tmp["A"],tmp["B"])

但这仍然需要一段时间来计算。有什么更快的方法可以做到这一点吗?或者是否有任何我可以使用的软件包可以更快地完成此操作?我查看了 stringr包,但他们使用简单的grep。

最佳答案

我以为这会是最快的...

sum(somechars %in% c('A', 'B'))

而且,它比...更快
sum(c(somechars=="A",somechars=="B"))

但不比...
sum(somechars=="A"|somechars=="B")

但这取决于你进行了多少次比较……这让我回到了我的第一个猜测。一旦你想使用 %in% 版本对超过 2 个字母求和是最快的。

关于r - 字符向量中字符的快速计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7856552/

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