R 删除少于三个周期的指标制度
我正在寻找以下问题的帮助 假设我有一个指示符变量:R 删除少于三个周期的指标制度,r,loops,dummy-variable,R,Loops,Dummy Variable,我正在寻找以下问题的帮助 假设我有一个指示符变量: ind <- c(0,1,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0) ind我们可以使用rle来实现这一点。我们得到'ind'的rle,通过对小于3的'length'进行子集设置来更改'values',对于值为1的值(!!values),将相应的'values'指定为0,并使用inverse.rle将输出转换回vector inverse.rle(within.list(
ind <- c(0,1,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0)
ind我们可以使用rle
来实现这一点。我们得到'ind'的rle
,通过对小于3的'length'进行子集设置来更改'values',对于值为1的值(!!values
),将相应的'values'指定为0,并使用inverse.rle
将输出转换回vector
inverse.rle(within.list(rle(ind), values[!!values][lengths[!!values]<3] <- 0))
#[1] 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
inverse.rle(在.list内(rle(ind),值[!!值][长度[!!值]对于代码高尔夫,请注意!!x&y
与x&y
对于数值x
相同。
inverse.rle(within.list(rle(ind), values[!!values][lengths[!!values]<3] <- 0))
#[1] 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
inverse.rle(within.list(rle(ind), values[values & lengths<3] <- 0))
# [1] 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0