当前位置:  开发笔记 > 编程语言 > 正文

计算一组字符的重复次数

如何解决《计算一组字符的重复次数》经验,为你挑选了1个好方法。

如何计算向量中一组字符的重复?想象一下以下向量由"A"和组成"B":

x <- c("A", "A", "A", "B", "B", "A", "A", "B", "A")

在这个例子中,第一组将是序列"A""B"从索引1至5,第二组是的序列"A""B"从索引6至8,然后将第三组是最后单"A":

x <- c("A", "A", "A", "B", "B", # set 1
       "A", "A", "B",           # set 2
       "A")                     # set 3

如何为每组变量设置一个计数器?我需要一个这样的矢量:

c(1, 1, 1, 1, 1, 2, 2, 2, 3)  

谢谢



1> Roland..:

用途rle:

x <- c("A", "A", "A", "B", "B", "A", "A", "B", "A")  
tmp <- rle(x)
#Run Length Encoding
#  lengths: int [1:5] 3 2 2 1 1
#  values : chr [1:5] "A" "B" "A" "B" "A"

现在更改值:

tmp$values <- ave(rep(1L, length(tmp$values)), tmp$values, FUN = cumsum) 

并反转运行长度编码:

y <- inverse.rle(tmp)
#[1] 1 1 1 1 1 2 2 2 3

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有