R:由于 seq.default 错误,循环不会 运行
R: loop won't run due to a seq.default error
我正在尝试计算一小段脑电波每 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
。但是,当 运行ning 循环时,出现此错误:
Error in seq.default(x[1], x[2], length.out = dens) : 'to' must be a finite number
当我 运行 循环外的 subset
和 auc
代码时,它没有问题。谁能告诉我循环中出了什么问题?
感谢您更新问题。这不是因为控制语句(for 循环),当 i=10 时会准确地抛出错误——因为 x 坐标和 y 坐标向量的长度不同。特别是 c(10,11) 与 c(1)。但是你没有意义 x=11 !
在适当的时候尽早停止循环
我正在尝试计算一小段脑电波每 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
。但是,当 运行ning 循环时,出现此错误:
Error in seq.default(x[1], x[2], length.out = dens) : 'to' must be a finite number
当我 运行 循环外的 subset
和 auc
代码时,它没有问题。谁能告诉我循环中出了什么问题?
感谢您更新问题。这不是因为控制语句(for 循环),当 i=10 时会准确地抛出错误——因为 x 坐标和 y 坐标向量的长度不同。特别是 c(10,11) 与 c(1)。但是你没有意义 x=11 !
在适当的时候尽早停止循环