Hola Oscar, Gracias por tus consejos. Los estoy poniendo en práctica aunque todavía no he logrado resolverlo. Por otra parte, estoy pensando ponerme en contacto con el autor del libro, pues quizá el problema vaya por lo que decías de un cambio en las funciones posterior a la edición del libro. Si logro la solución por esta vía os lo haré saber igualmente.
saludos, Fernando -----Mensaje original----- De: [email protected] [mailto:[email protected]] En nombre de Oscar Perpiñan Enviado el: domingo, 17 de agosto de 2014 9:14 Para: Fernando Sanchez CC: [email protected] Asunto: Re: [R-es] error en código de wavelets Hola, Para los que no tengáis el libro, el código a que hace referencia está aquí: http://books.google.es/books?id=5gLAQLTl4iQC. En el bucle usa dos funciones, "adjust" y "pred", que no están incluidas en el paquete, sino en una página web externa según indica el libro (http://www.maths.bris.ac.uk/people/faculty/mapzf/), pero yo no las encuentro. Supongo que el error puede ser debido a algún cambio en estas funciones posterior a la edición del libro. En todo caso, prueba con traceback() después de obtener el error. También te será útil recorrer el bucle paso a paso para encontrar el problema. Esto lo consigues fácilmente saltando la línea de "for" y asignando un valor cualquiera a "h". Saludos. Oscar. ----------------------------------------------------------------- Oscar Perpiñán Lamigueiro Dpto. Ingeniería Eléctrica (ETSIDI-UPM) Grupo de Sistemas Fotovoltaicos (IES-UPM) URL: http://oscarperpinan.github.io Twitter: @oscarperpinan El día 15 de agosto de 2014, 21:57, Fernando Sanchez escribió: > Hola a todos, > > Estoy ejecutando un código de Wavelets extraído del libro: Nason, G.P. (2008) > Wavelet Methods in Statistics with R. Springer. > > El código es el que os pongo debajo, y después del bucle for me da el error > que os señalo: > Error en (`(`) : 2 arguments passed to '(' which requires 1 > > ¿Alguien sabe qué puede estar ocurriendo? La verdad es que llevo días > revisándolo y no sé qué pasa. > > library(wavethresh) > data(BabyECG) > nsteps <- 10 > s <- 40 > nBaby <- length(BabyECG) > pBaby <- BabyECG[1:(nBaby - nsteps)] > meanpBaby <- mean(pBaby) > pBaby <- pBaby - meanpBaby > ppred <- rep(0, nsteps) > pse <- rep(0,nsteps) > for(h in 1:nsteps) { > pBaby.par <- adjust(pBaby, h=h, s=s) > pBaby.pred <- pred(pBaby, h=h, > p = pBaby.par$p[s+1], g = pBaby.par$g[s+1]) ppred[h] <- > pBaby.pred$mean + meanpBaby pse[h] <- pBaby.pred$std.err } # BebeVals are > just the ones we want to plot BebeVals <- (nBaby - > 2*nsteps+1):nBaby yr <- range(c(BabyECG[BebeVals], ppred)) > plot(BebeVals, BabyECG[BebeVals],type="l", ylim=yr, > xlab="Observation", ylab="BabyECG") points(BebeVals, ppred) > > Un saludo y muchas gracias, > > Fernando > > > _______________________________________________ > R-help-es mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-help-es _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
