Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.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_Vector_Count_Dplyr - Fatal编程技术网

R 寻找具有最大长度的条件子向量

R 寻找具有最大长度的条件子向量,r,vector,count,dplyr,R,Vector,Count,Dplyr,我有一个二进制向量 y <- c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,

我有一个二进制向量

y <- c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0)

y可能是更好的方法,这实际上只是评估循环中的所有可能性:

p1 <- sum(y)/length(y)
mlth <- 0
ii <- 0
jj <- 0

for (i in 1:length(y)){
  if(y[i] == 1){
    for (j in i:length(y)){
      if(sum(y[i:j])/length(y[i:j]) > p1 && j - i + 1 >= mlth && j - i + 1 < length(y) ){
        mlth <- j - i + 1
        ii <- i
        jj <- j
      }
    }
  }
}
ii # start position
jj # end position
y[ii:jj] #the vector

p1这不总是完整向量吗?它是最大长度,等于p1亲爱的克里斯,它并不总是全向量,看看你是否把
y取对,但是
c(1,0,0,0,0,0,0,1,1,1,1)
c(1,1,1,1)
长,并且>=p1,所以这两个条件都是真的,不是吗?实际上,从技术上讲,如果第一个数字是一,它只是整个向量。否则它会变得更有趣是的,实际上我必须说z是正确的子向量,因为全向量是一个明显的例子。亲爱的克里斯,这确实很有趣。当应用于
y@Pankaj对不起,但是
c(1,1,1,1)
根据您给出的条件是错误的。你想做什么有更大的图景吗?我想,我的英语不是很好。很抱歉给您带来不便。我刚刚编辑了这篇文章。