无法增加条件的计数

时间:2016-07-21 18:37:46

标签: r

代码的逻辑是: 对于每个不同的客户端(可以有两个以上的客户端),其输出== 1,索引值应该增加为(3 *客户端),

如果输出== 2则索引值将为10
唯一不起作用的条件是         是myDF $客户端[I]!=计 在这一部分,它无法增加计数

    mydf <- data.frame(time = c(2,4,3,2,3,3,3,4,4,4,3,2,4,3,2,4,4,2,2),
               output = c(1,1,2,2,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1),
               client =c(1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2))
    mydf$index<-0
    count=1
    for (i in 1:length(mydf))
    { 
    repeat
    {
    if(mydf$client[i]==count)

    {

    if(mydf$output[i]==1 )
    {
    mydf$index[i]<-3*count

    }
    if(mydf$output[i]==2 )
    {
    mydf$index[i]<-10

    }
    }
    if(mydf$client[i]!=count )
    { 
    count<-count+1
    }
    if(mydf$client[i]<3)
    {break
    }
    }

    }
     Time output client index
       2     1     1      3
       4     1     1      3
       3     2     1      10
       2     2     1      10
       3     1     2      6
       3     1     2      6
       3     1     2      10
       4     1     2      10
       4     1     2      6     
       4     2     2      10 
       3     1     2      6
       2     1     2      6
       4     1     2      10
       3     1     2      6
       2     1     2      6
       4     2     2      10
       4     1     2      6
       2     1     2      6
       2     1     2      10

先谢谢

0 个答案:

没有答案