r - for循环R中长度为0的参数

标签 r compiler-errors

我有2个数字 vector 。 vector “v”以秒为单位显示进程何时开始。 vector u显示 vector u中的进程工作多少时间。

我想创建一个 vector ,说明每秒有多少个进程在工作。
因此,这个玩具示例:我创建了一个 vector “total”,即以秒0开始(不要紧记 vector 的末尾),并且我将在每个位置保存在该秒中有多少个进程在工作。因此,例如,在 vector 的第一个位置(时间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,以防begin = end),但“for”仅适用于一个职位。

会发生什么??

最佳答案

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

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

关于r - for循环R中长度为0的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24263228/

相关文章:

C# 返回错误 “not all code paths return a value” - 如何查找不返回值的路径

r - 如何不使用 R 绘制时间序列中的间隙

解除数据帧嵌套后删除嵌套数据帧结构

在不使用 dcast 的情况下 reshape R 中的数据(reshape2)

c++ - 如何摆脱内部编译器错误 : Illegal instruction min() _GLIBCXX_USE_NOEXCEPT { return __FLT_MIN__; }

c++ - 使用指向方法的指针的 MSVC 编译器 fatal error C1001

regex - [0-9] n 次和 [0-9]{n} 在 R 正则表达式中的区别

r - 使用R将数据转换为时间序列数据

python - CPython 在 macOS 中编译失败

java - Ant 构建可以在一个系统上运行,而不能在另一个系统上运行