[R-es] Problemas con la funcion "apply"

javier bueno enciso jbuenoenci@o @ending from hotm@il@com
Jue Jul 12 11:44:34 CEST 2018


Buenos dias!


Os escribo para ver si me podeis ayudar con un asunto en el que me he quedado un poco encallado.


Lo que tengo que hacer es sacar los percentiles (0.001, 0.005, 0.95 y 0.999) de varias distribuciones beta, concretamente 418. Cada distribucion esta definida por los parametros "shape1" y "shape2". Por lo tanto tengo una base de datos de 418 filas y en cada una de ellas los parametros que me definen la distribucion beta, shape1 y shape2.


Tengo el siguiente codigo:


distrname="beta"
shape1= 0.2 #ejemplo
shape2= 0.3 #ejemplo
quantvector=c(0.001,0.005,0.95,0.999)
(paste("qvector=q",distrname,"(quantvector, shape1, shape2)",sep=""))
eval(parse(text= paste("qvector=q",distrname,"(quantvector, shape1, shape2)",sep="") ))
qvector

Donde tengo problemas es en aplicar el anterior codigo para cada una de las filas de mi base de datos, especificando que shape1 es "mydata$shape1" y shape2 es "mydata$shape2". He pensado que quizas podria hacer una funcion con el anterior codigo y hacer un loop posterior para que me la aplique para cada una de mis filas.

Sin embargo estoy convencido de que tiene que haber una manera mas directa utilizando la funcion "apply" de R o alguna de sus "hermanas", que funcionaria mejor.

Me podriais ayudar? cualquier pista me seria de gran utilidad.

Muchas gracias!!

Javi

P.D. si necesitais cualquier otra info o un ejemplo de los datos, no dudeis en pedirmelo.





	[[alternative HTML version deleted]]



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