Hola a todos. Si no me equivoco, lo que haces con cast lo puedes hacer con el paquete dplyr (http://cran.r-project.org/web/packages/dplyr/index.html), cuya salida es ya un data.frame (o data.table según lo que quieras) y por tanto graficarlo sería más sencillo. Además el autor del paquete es el mismo que ggplot2 (Hadley Wickham).
En la viñeta del paquete ( http://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.html) explica muy bien como hacerlo. Espero que te sirva. Un saludo. Víctor Granda García Ph.D. Student Dpto. BOS, Universidad de Oviedo El 28 de octubre de 2014, 23:22, eric <[email protected]> escribió: > Gracias Olivier por tu sugerencia ... uso "cast" porque me permite hacer > facilmente algunas operaciones con los datos antes de graficarlos, por > ejemplo, calcular el promedio de los datos que cumplan un conjunto de > condiciones. Por ejemplo, graficar el promedio de la variable "are" que > cumplan: > > sol=="dol" , dia==1, con==5 > > y asi ... tambien lo hacia de otra forma q es mucho mas complicada, > generando un archivo con las condiciones que quiero que se cumplan y > filtrando el archivo de datos de acuerdo a esas condiciones y aplicar > las operaciones que necesito a los datos que quedan. Pero crear ese > archivo-filtro no es tan trivial, por eso que estaba contento con > "cast", pero ahora tengo el problema de que para graficar necesito > transformar la tabla que me entrega "cast" en un data.frame adecuado. > Seguro debe haber otras formas y por eso preguntaba si no existia ya una > funcion que me permitiera crear el df. > > Voy a seguir mirando en CRAN a ver que encuentro. > > Saludos, > > Eric. > > > > > > > > > On 28/10/14 05:27, Olivier Nuñez wrote: > > No creo que haga falta utilizar cast. > > Prueba lo siguiente: > > > > require(ggplot2) > > ggplot(subset(dataEnd.dia %in% 1:5), aes(con)) + geom_bar() + > facet_wrap(~sol) > > > > Un saludo. Olivier > > > > > > > > ----- Mensaje original ----- > > De: "eric" <[email protected]> > > Para: "Carlos Ortega" <[email protected]> > > CC: "Lista R" <[email protected]> > > Enviados: Lunes, 27 de Octubre 2014 23:30:16 > > Asunto: Re: [R-es] como pasar de data.frame -> cast -> data.frame > > > > Hola Carlos, quiero graficar el valor de cada celda, por ejemplo, 10 (en > > 1,1) clasificado de acuerdo a las etiquetas de encabezado de fila y > columna. > > > > Me explico: > > > > Necesito un panel para cada etiqueta del titulo de la fila (con, dec ... > > ) y en el eje X de cada panel va la concentracion, que son los numeros > > del 0 al 5 en el encabezado de cada columna. El eje Y de cada panel es > > un porcentaje. Es el valor de cada celda en la tabla y que se calculo > > con la funcion "cast". Dentro de cada panel los puntos se deben agrupar > > por dia, dato que tambien esta en el encabezado de cada columna. > > > > Por esto es que pienso que podria existir una forma de utilizar la > > informacion que se obtiene con "cast" para hacer un grafico del tipo > > descrito, de una forma mas inteligente que reordenando la tabla en un > > data.frame manualmente. > > > > Eso es. > > > > Espero haberme explicado adecuadamente. > > > > saludos y gracias, > > > > Eric. > > > > > > > > > > On 27/10/14 17:00, Carlos Ortega wrote: > >> Hola, > >> > >> ¿Pero qué quieres graficar?.... > >> Creo que me haría una mejor idea si me dices qué quieres pintar sobre el > >> conjunto original... > >> > >> Gracias, > >> Carlos Ortega > >> www.qualityexcellence.es <http://www.qualityexcellence.es> > >> > >> El 27 de octubre de 2014, 20:54, eric <[email protected] > >> <mailto:[email protected]>> escribió: > >> > >> Fabulosa comunidad, tengo el siguiente problema: > >> > >> 1. Tengo un data.frame no muy grande, de 575 filas x 8 columnas. En > este > >> df, las primeras 7 columnas identifican el dato que va en la > columna 8. > >> A las primeras 7 col se las podria considerar como datos > categoricos y > >> la columna 8 es un dato numerico. El df luce algo asi: > >> > >> sol con dia rep nca nin iso are > >> 1 con 0 1 1 16 0 s 0.3866520976 > >> 2 con 0 1 1 16 1 c 0.0008842527 > >> 3 con 0 1 1 18 0 s 0.2409465396 > >> 4 con 0 1 1 18 1 c 0.0021092822 > >> 5 con 0 2 1 16 0 s 0.6005446999 > >> 6 con 0 2 1 18 0 s 0.3394979487 > >> > >> > >> > >> 2. A partir del df y usando la funcion "cast" obtengo unas tablas > como > >> las que siguen: > >> > >> cast(datEnd[datEnd$dia%in%c(1,5),], sol ~ dia + con, > >> fun.aggregate=length) > >> > >> sol 1_0 1_1 1_2 1_3 1_4 1_5 5_0 5_1 5_2 5_3 5_4 5_5 > >> 1 con 10 0 0 0 0 0 11 0 0 0 0 0 > >> 2 dec 0 6 6 6 8 6 0 9 11 13 14 17 > >> 3 dol 0 8 6 10 9 10 0 17 16 17 19 19 > >> 4 lim 0 10 6 7 6 16 0 11 9 13 10 9 > >> > >> en la primera fila de la tabla, que son encabezados de la columna, > el > >> primer numero indica un dia (1 y 5) y el segundo numero indica una > >> concentracion, desde 0 a 5). Los nombres en la primera columna (con, > >> dec...) son identificadores tambien. > >> > >> 3. ahora viene mi problema: de esas tablas obtenidas con "cast" > tengo > >> bastantes y necesito graficar los datos que ahi aparecen. Creo que > no > >> podria utilizar directamente esa tabla para obtener un grafico en R > (o > >> si ? no lo se) ... entonces mi pregunta es > >> > >> Existe alguna funcion, algo asi como "stack" y "unstack" para > >> transformar esa tabla de doble (o triple) entrada que me entrega > "cast" > >> en un data.frame que me permita graficar a partir de el ? > >> > >> habia comenzado a hacerlo a mano, pero por la cantidad de tablas que > >> tengo es impracticable. > >> > >> Espero haber explicado correctamente mi problema. Toda sugerencia > sera > >> muy apreciada > >> > >> Slds cordiales, > >> > >> Eric Concha M. > >> > >> > >> pd. adjunto los datos x si quieren jugar con ellos > >> > >> > >> > >> -- > >> Forest Engineer > >> Master in Environmental and Natural Resource Economics > >> Ph.D. student in Sciences of Natural Resources at La Frontera > University > >> Member in AguaDeTemu2030, citizen movement for Temuco with green > city > >> standards for living > >> > >> Nota: Las tildes se han omitido para asegurar compatibilidad con > algunos > >> lectores de correo. > >> > >> _______________________________________________ > >> R-help-es mailing list > >> [email protected] <mailto:[email protected]> > >> https://stat.ethz.ch/mailman/listinfo/r-help-es > >> > >> > >> > >> > >> -- > >> Saludos, > >> Carlos Ortega > >> www.qualityexcellence.es <http://www.qualityexcellence.es> > > > > -- > Forest Engineer > Master in Environmental and Natural Resource Economics > Ph.D. student in Sciences of Natural Resources at La Frontera University > Member in AguaDeTemu2030, citizen movement for Temuco with green city > standards for living > > Nota: Las tildes se han omitido para asegurar compatibilidad con algunos > lectores de correo. > > _______________________________________________ > R-help-es mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
