代码的逻辑是: 对于每个不同的客户端(可以有两个以上的客户端),其输出== 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
先谢谢