J'essaie de calculer l'aire sous la courbe pour chaque 10ms d'un court morceau d'onde EEG. Pour commencer, j'ai créé un petit jeu de données pour lancer la fonction auc
(du paquet {flux}
).R: la boucle ne fonctionnera pas en raison d'une erreur seq.default
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)
}
La boucle doit essayer de sous-ensemble de deux points de données de chaque variable puis exécutez un auc
sur ces points de données. Cependant, lors de l'exécution de la boucle, je reçois cette erreur: Error in seq.default(x[1], x[2], length.out = dens) : 'to' must be a finite number
Quand je lance le code subset
et auc
en dehors de la boucle, cela fonctionne sans problème. Quelqu'un peut-il me dire ce qui ne va pas dans la boucle?
Tel est le problème: sous-ensemble (y, x == (i + 1)) lorsque i == 10 – Roland
pour i = 10 i + 1 = 11 , hors de votre 'df' –
Je vois, comment pourrais-je réparer cela? – Fred