gpt4 book ai didi

R - 通过矢量计数并刷新某个值?

转载 作者:行者123 更新时间:2023-12-02 07:16:40 25 4
gpt4 key购买 nike

假设我有一个向量

vec <- c(3,0,1,1,0,3,0,1,3,0,0,0,3)

我希望能够使用值 3 作为刷新点来计算这个向量。所以,我想要的输出是

       vec   out
[1,] 3 1
[2,] 0 2
[3,] 1 3
[4,] 1 4
[5,] 0 5
[6,] 3 1
[7,] 0 2
[8,] 1 3
[9,] 3 1
[10,] 0 2
[11,] 0 3
[12,] 0 4
[13,] 3 1

我如何在 R 中执行此操作,最好不使用循环?

最佳答案

使用 base R,您可以:

ave(vec, cumsum(vec == 3), FUN = seq_along)

[1] 1 2 3 4 5 1 2 3 1 2 3 4 1

关于R - 通过矢量计数并刷新某个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61245510/

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