R:循环由于seq.default错误而无法运行

时间:2017-08-22 13:12:58

标签: r for-loop seq auc

我正在尝试计算一小段脑电波的每10毫秒曲线下面积。为了首先练习这个,我创建了一个小数据集来运行auc(来自包{flux})函数。

x <- seq(1:10)
y <- c(0:4,5:1)
df <- data.frame(x,y)
attach(df)
plot(x,y)

for (i in 1:10){
  x1 <- c(i,(i+1))
  y1 <- c(subset(y, x == i),subset(y, x == (i+1)))
auc(x1,y1,thresh = 0)
rm(y1,x1,i)
}

循环应尝试从每个变量中对两个数据点进行子集化,然后在这些数据点上运行auc。但是,在运行循环时,我收到此错误: Error in seq.default(x[1], x[2], length.out = dens) : 'to' must be a finite number

当我在循环之外运行subsetauc代码时,它没有问题。谁能告诉我循环中出了什么问题?

1 个答案:

答案 0 :(得分:0)

感谢您更新问题。这不是因为控制语句(for循环),当i = 10时错误被精确抛出 - 因为x-coords和y-coords向量的长度是不同的。特别是c(10,11)vs c(1)。但你在x = 11时没有意义!

在合适的时间提前停止循环