循环R中长度为0的参数

时间:2014-06-17 11:59:52

标签: r compiler-errors

我有2个数字向量。向量" v"显示进程在几秒钟内开始的时间。向量u表示向量中的过程有多少时间。

我想提出一个向量,说明每秒有多少进程正在运行。 所以这个玩具示例:我创建了一个矢量"总计"多数民众赞成在第二个0开始(永远不要在向量的末尾),我会在每个位置保存多少个进程在那一秒工作。因此,例如,在向量的第一个位置(时间0),我的代码说我将有1个进程。

v <- c(0,1,2,3,4,5)
u <- c(1.2, 0.1, 1.2, 1, 0.5, 0)
j = 1
total <- rep(0, times = 10)
begin <- integer()
end <- integer()
repeat{
  begin<- v[j] +1 
  end <- begin + u[j]%/%1
  for(i in begin:end){
    if(total[i] == 0){ total[i] <-1}
    else total[i] = total[i] +1
  }
  if(j ==length(v)) break
  j = j+1
}

total
 [1] 1 2 1 2 2 1 0 0 0 0

我收到了这个错误(不是这里,在实际案例中):

Error in begin:end : argument of length 0

(我尝试使用if in case = =)但&#34; for&#34;应该只适用于一个职位。

可能会发生什么?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以使用seq.int代替:。例如:

for (a in seq.int(from=3, to=3)) {                                                
  print(a)
}
[1] 3