我的问题最好通过一个快速而简单的示例来解决:
my_strings = c("apple", "banana", "carrot", "apple", "apple", "dairy", "banana", "eggplant", "flowers", "flowers", "apple", "banana")
my_repeats = c(0, 0, 0, 1, 2, 0, 1, 0, 0, 1, 3, 2)
最好通过从头到尾浏览 my_strings 元素(一次一个元素)来理解 my_repeats 向量。由于第一次访问时,苹果、香蕉和胡萝卜还没有出现在字符串中,因此它们都被分配为 0。然后苹果出现了第 2 次和第 3 次(第 1 次和第 2 次重复),因此它得到 1 和 2。然后是 0,因为乳制品还没有出现,然后是 1,因为香蕉第一次重复出现,等等。
能够计算字符串的重复次数,并将该数据存储在相同长度的向量中,将对我正在做的工作有很大帮助。但我不太确定是否有一种快速、矢量化的方法来做到这一点。任何想法表示赞赏!
编辑:本质上我需要的是一个累积计数函数 - 我现在检查字符串是否存在。