[R-es] error en código de wavelets

Fernando Sanchez fernandsanche en yahoo.es
Dom Ago 17 18:25:39 CEST 2014


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: oscar.perpinan en gmail.com [mailto:oscar.perpinan en gmail.com] En nombre de Oscar Perpiñan
Enviado el: domingo, 17 de agosto de 2014 9:14
Para: Fernando Sanchez
CC: r-help-es en r-project.org
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
> R-help-es en r-project.org 
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es