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

Oscar Perpiñan oscar.perpinan en upm.es
Dom Ago 17 09:13:42 CEST 2014


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
<fernandsanche en yahoo.es> 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