Hola,

Esto se aproxima más a lo que debieras de utilizar:


sm.density() es una lista y de lo que devuelve te interesa realmente el
conjunto "estimate".
Y este conjunto ahora lo tienes que convertir en función para que pueda
utilizarlo integrate(). La forma de hacerlo es con Vectorize().

Siguiendo todo esto:


> integrand <- function(x){sm.density(x)}> > lim02ene.via <- integrand(rnorm(50))$estimate> > foo<- function(x) lim02ene.via> > int.lim02ene.via <- integrate(Vectorize(foo), 0, 100)Error en integrate(Vectorize(foo), 0, 100) :
  evaluation of function gave a result of wrong length>


Que como ves da otro mensaje de error que viene descrito en la propia ayuda
de integrate() pero que no proporciona claves para resolver...
Sigo mirando.

Saludos,
Carlos Ortega
www.qualityexcellence.es



El 17 de enero de 2012 22:12, Eric <ericconchamunoz@gmail.com> escribió:

> Estimada comunidad, nuevamente con algo que no se como hacer en R, pero
> aprendiendo ....
>
> El problema es el siguiente:
> 1. tengo un conjunto de 10 mil datos (n) cuyo valor va entre 0 y 10.000 a
> los que aplico una funcion sm.density() para obtener una especie de
> histograma pero con una curva que parece continua.
> 2. Una vez que obtengo esa curva necesito calcular el area bajo la curva en
> ciertos intervalos, esto equivale a aplicar una integral en esos
> intervalos. He intentado hacerlo de la siguiente forma:
> integrand <- function(x){sm.density(x)}
> lim02ene.via <- integrand(compara.tiempos2[,1])
> int.lim02ene.via <- integrate(lim02ene.via, -Inf, Inf)
>
> pero obtengo el siguiente error:
>
> Error in get(as.character(FUN), mode = "function", envir = envir) :
>  object 'lim02ene.via' of mode 'function' was not found
>
> buscando encontre que la funcion a integrar debe ser "vectorizable" y que
> para eso se puede aplicar la funcion "vectorize", pero sigo obteniendo el
> mismo error, el problema parece ser que el resultado de aplicar la funcion
> sm.density no es una funcion si no un conjunto de muchos puntos (x.y) ...
> entonces.
>
> como puedo hacer para calcular un area bajo la curva obtenida con
> sm.density() ???
>
> Muchas gracias por su tiempo y ayuda ...
>
> Eric Concha M.
>
>
>
>
>
> --
> Nota: las tildes se han omitido para evitar conflictos con algunos lectores
> de correo.
>
> * Un economista es un experto que sabrá mañana por qué las cosas que
> predijo
> ayer no han sucedido hoy (Laurence Peter).
>
> * SATYÂT NÂSTI PARO DHARMAH
>
>        [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>

	[[alternative HTML version deleted]]

