An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120117/de393ddc/attachment.pl>
[R-es] Problema para integrar una funcion ajustada a un conjunto de datos con la instruccion sm.density(x)
4 messages · eric, Carlos J. Gil Bellosta, Carlos Ortega
Hola, ¿qué tal? La función integrate necesita como argumento una función. La salida de la función density no es una función: es un objeto que, entre otras cosas, contiene x <- rnorm( 1000 ) densidad <- density( x ) str( densidad ) List of 7 $ x : num [1:512] -3.65 -3.63 -3.62 -3.6 -3.59 ... $ y : num [1:512] 3.50e-05 4.30e-05 5.25e-05 6.37e-05 7.70e-05 ... $ bw : num 0.221 $ n : int 1000 $ call : language density.default(x = x) $ data.name: chr "x" $ has.na : logi FALSE - attr(*, "class")= chr "density" los objetos x e y que son, por decirlo de alguna manera, "puntos por los que pasa la función de densidad". Tienes la opción de convertir esos puntos en una función que luego puedes integrar con integrate usando, si no quieres complicarte la vida, rectángulos o trapecios. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 17 de enero de 2012 22:12, Eric <ericconchamunoz en 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 en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120118/328770e2/attachment.pl>
An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120118/ce1c54d6/attachment.pl>