为R中的二项式值的连续序列分配唯一标识符
我有一个数据帧,列由0和1组成。0不重要,但1表示时间序列中发生的事件,目标是为每个事件分配唯一的值。简单的整数值就足够了。因此,在下面的代码中,“x”是我拥有的,而“目标”是我追求的 这看起来很简单,但我不知道如何在帮助搜索中表达这个问题 我所拥有的数据帧:为R中的二项式值的连续序列分配唯一标识符,r,sequence,seq,run-length-encoding,R,Sequence,Seq,Run Length Encoding,我有一个数据帧,列由0和1组成。0不重要,但1表示时间序列中发生的事件,目标是为每个事件分配唯一的值。简单的整数值就足够了。因此,在下面的代码中,“x”是我拥有的,而“目标”是我追求的 这看起来很简单,但我不知道如何在帮助搜索中表达这个问题 我所拥有的数据帧: x <- c(rep(0,4),rep(1,5),rep(0,2),rep(1,4),rep(0,10),rep(1,3)) x <- data.frame(x) x$goal <- c(rep(0,4),rep(1
x <- c(rep(0,4),rep(1,5),rep(0,2),rep(1,4),rep(0,10),rep(1,3))
x <- data.frame(x)
x$goal <- c(rep(0,4),rep(1,5),rep(0,2),rep(2,4),rep(0,10),rep(3,3))
x这是一种有效的游程编码,有轻微的扭曲(零化0
s)
虽然data.table::rleid
做得很好,但如果您还没有使用该包,那么我们将使用
my_rleid这是一种有效的游程编码,有一点扭曲(零化0
s)
虽然data.table::rleid
做得很好,但如果您还没有使用该包,那么我们将使用
我的天哇,谢谢!很好地工作,我很欣赏使用基本命令的能力。您也只能使用rle
对象:r=rle(x!=0);r$values=总和(r$values)*r$values;reverse.rle(r)
哇,谢谢!很好地工作,我很欣赏使用基本命令的能力。您也只能使用rle
对象:r=rle(x!=0);r$values=总和(r$values)*r$values;反向.rle(r)