Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 删除少于三个周期的指标制度_R_Loops_Dummy Variable - Fatal编程技术网

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