gpt4 book ai didi

r - 寻找独特级别之间的差异

转载 作者:行者123 更新时间:2023-12-02 09:10:50 24 4
gpt4 key购买 nike

我有一个专栏,其中有独特的级别,我想找到差距(级别之间的差异)。

我有数据

x=c(0,0,0,0,0,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,4) 

结果应该是:

1 2 3 4 5 1 2 3 1 2 3 4 1 2 3 4 5 6

最佳答案

这不是很清晰的代码,但它完成了工作:

res = ifelse(x == 0, 0, ifelse(c(0, x[-length(x)]) != 0, 0, NA))
res[is.na(res)] = with(rle(x == 0), lengths[values])
res
# [1] 0 0 0 0 4 0 0 0 0 4 0 0 2 0

这也许更好:

res2 = x
res2[x != 0] = diff(c(0, which(x != 0))) - 1
res2
# [1] 0 0 0 0 4 0 0 0 0 4 0 0 2 0

关于r - 寻找独特级别之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52407816/

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