【发布时间】:2023-03-20 19:59:01
【问题描述】:
我正在尝试计算每 10 毫秒一小段 EEG 波的曲线下面积。为了首先练习这个,我制作了一个小数据集来运行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
当我在循环外运行subset 和auc 代码时,它没有问题。谁能告诉我循环中出了什么问题?
【问题讨论】:
-
这是问题所在:subset(y, x == (i+1)) when i == 10
-
for i=10 i+1=11, out of your
df -
我明白了,我该如何解决这个问题?