gpt4 book ai didi

r - 仅为特定值创建序列

转载 作者:行者123 更新时间:2023-12-02 07:19:48 28 4
gpt4 key购买 nike

有没有人知道如何实现以下目标:从这里开始

df <- data.frame(var = c(0,0,1,1,0,0,0,1,1,0,0,0,0,1,1))

并实现这一目标:

df <- data.frame(var = c(0,0,1,1,0,0,0,1,1,0,0,0,0,1,1), 
newvar = c(0,0,1,1,0,0,0,2,2,0,0,0,0,3,3))

最佳答案

这是一个带有 rle 的选项,通过用这些值的序列替换不为 0 的“值”,然后调用 inverse_rle 来获得完整的 矢量

df$newvar <- inverse.rle(within.list(rle(df$var), 
values[values!=0] <- seq_along(values[values!=0])))
df
# var newvar
#1 0 0
#2 0 0
#3 1 1
#4 1 1
#5 0 0
#6 0 0
#7 0 0
#8 1 2
#9 1 2
#10 0 0
#11 0 0
#12 0 0
#13 0 0
#14 1 3
#15 1 3

关于r - 仅为特定值创建序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49555373/

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