[R-es] Gr=E1fico xyplot

guivivi en alumni.uv.es guivivi en alumni.uv.es
Mie Nov 11 15:54:11 CET 2009


Sí, tienes razón, así funciona.
Muchas gracias por tu ayuda.
Saludos

> Hola, en verdad tu problema de que este las etiquetas como número
> decimal se puede solucionar simplemente cambiando las etiquetas. Que
> es mucho más simple lo que estaba tratando de hacer. Como no hay edad
> decimales no hay problema en cambiarla a un número natural (igualmente
> es un cambio puramente estético, cut esta cortando en esos lugares
> decimales). Hay solo dos cortes porque está mal hecho el vector de
> cortes, hay que agregarle un 90), entonces quedan los intervalos
> 60-70, 70-80, 80-90.
> y ponerle a cut la opción include.lowest=TRUE para que incluya los 60 .
> Para cambiar las etiquetas del resultado del comando cut(edad,3):
> edad.cat<-factor(edad.cat, labels=c('60-70', '70-80', '80-90'))
> Luciano
> 
> 
> 
> El día 11 de noviembre de 2009 11:11,  <guivivi en alumni.uv.es> 
escribió:
> > Hola, desafortunadamente no sale lo que debería con las tres líneas 
que
> > me has pasado, porque me divide el intervalo en 2 y además algunos
> > elementos del vector edad.cat aparecen como NA.
> >
> > Si quieres puedes verlo tú mismo.Este es mi vector edad:
> > 77 77 77 77 77 77 72 72 72 72 72 72 78 78 78 78 78 78 73 73 73 73 
73 73
> > 69 69 69 69 69 69 86 86 86 86 86 86 80 80 80 80 80 80 80 80 80 80 
80 80
> > 64 64 64 64 86 86 86 86 86 86 62 62 62 62 62 62 82 82 82 82 75 75 
75 75
> > 75 75 73 73 73 73 73 73 75 75 75 75 75 75 70 70 70 70 70 70 80 80 
80 80
> > 80 80 73 73 73 73 73 73 75 75 75 75 81 81 81 81 81 81 78 78 78 78 
78 78
> > 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 80 80 80 80 
80 80
> > 80 80 80 80 85 85 85 85 81 81 81 81 81 81 78 78 78 78 77 77 77 77 
77 77
> > 73 73 73 73 73 73 73 73 73 73 78 78 78 78 78 78 60 60 60 60 60 60 
72 72
> > 72 72 72 72 77 77 77 77 77 77 82 82 82 82 82 82 81 81 72 72 72 72 
72 72
> > 77 77 81 81 74 74 76 76 76 76 76 76 73 73 73 73 83 83 83 83 72 72 
72 72
> > 72 72 81 81 81 81 81 81 73 73 73 73 73 73 67 67 67 67 67 67 77 77 
77 77
> > 77 77 76 76 76 76 76 76 79 79 79 79 78 78 78 78 78 78 80 80 80 80 
80 80
> > 78 78 78 78 78 78 62 62 62 62 62 62 84 84 82 82 82 82 82 82 64 64 
64 64
> > 64 64 74 74 74 74 74 74 85 85 85 85 72 72 72 72 72 72 77 77 77 77 
77 77
> > 88 88 88 88 88 88 68 68 68 68 68 68 62 62 62 62 62 62 79 79 79 79 
79 79
> > 65 65 65 65 65 65 80 80 80 80 80 80 78 78 78 78 78 78 87 87 87 87 
87 87
> > 79 79 79 79 79 79 79 79 79 79 79 79 83 83 83 83 83 83 80 80 80 80 
80 80
> > 64 64 64 64 64 64 79 79 79 79 76 76 76 76 86 86 86 86 86 86 76 76 
76 76
> > 74 74 74 74 74 74 63 63 60 60 60 60 76 76 76 76 76 76 85 85 85 85 
85 85
> > 75 75 75 75 75 75 77 77 77 77 77 77 77 77 77 77 77 77 77 77 75 75 
84 84
> > 84 84 84 84 66 66 66 66 66 66 63 63 63 63 63 63 65 65 65 65 65 65 
72 72
> > 72 72 72 72 81 81 81 81 81 81 71 71 71 71 71 71 72 72 72 72 72 72 
72 72
> > 72 72 72 72 76 76 76 76 76 76 78 78 78 78 78 78 69 69 69 69 69 69 
79 79
> > 79 79 79 79 82 82 82 82 82 82 80 80 80 80 80 80 76 76 76 76 76 76 
77 77
> > 77 77 84 84 84 84 84 84 82 82 82 82 82 82 82 82 82 82 82 82 82 82 
78 78
> > 78 78 78 78 81 81 81 81 81 81 78 78 78 78 85 85 85 85 79 79 79 79 
79 79
> > 78 78 76 76 76 76 72 72 72 72 80 80 80 80 80 80 75 75 75 75 75 75 
80 80
> > 80 80 86 86 86 86 78 78 78 78 78 78 72 72 72 72 72 72 78 78 78 78 
78 78
> > 77 77 77 77 77 77 79 79 79 79 80 80 80 80 86 86 86 86 86 86 81 81 
81 81
> > 81 81 88 88 88 88 88 88 84 84 84 84 84 84 74 74 74 74 74 74 76 76 
76 76
> > 76 76
> >
> > Gracias y un saludo
> >
> >> Hola, si te fijas en la ayuda dice que con el argumento breaks 
puedes
> >> poner el número de intervalos en que quieres dividir la variable o 
los
> >> cortes donde poner la variable. Pienso que yo haria algo parecido 
al
> >> ejemplo que mandaste vos.
> >>
> >> int<-ceiling((max(edad)-min(edad))/3) #largo del intervalo
> >> cortes<-seq(min(edad),max(edad),int) #Creo los lugares donde cortar
> >> edad.cat<-cut(edad,breaks=cortes)
> >>
> >> No lo he probado así que quizá tenga algún error, pero eso debería
> > funcionar
> >>
> >> Luciano
> >>
> >>
> >>
> >> El día 11 de noviembre de 2009 09:56,  <guivivi en alumni.uv.es>
> > escribió:
> >> > Hola,
> >> >
> >> > Me encuentro ahora con un problema con la función cut y es que me
> >> > divide las edades en tres intervalos pero los límites de esos
> >> > intervalos son números decimales cuando la edad viene en números
> >> > naturales.
> >> > ¿Los puedo redondear?, parece que ni floor ni ceiling me sirven.
> >> >
> >> > Gracias y un saludo
> >> >
> >> >> Hola, no había visto los mensajes anteriores. Para incorporarlo 
a
> > al
> >> >> xyplot puedes usar el comando cut con sus opciones en la 
llamada de
> >> >> xyplot
> >> >>
> >> >> xyplot(PESO~ALTURA|cut(EDAD,
> >> > breaks=3),data=Data,xlab="ALTURA",ylab="PESO")
> >> >>
> >> >> Otra opción es crear una nueva variable donde guardes los
> > resultados
> >> >> de cut y llames a esa variable en la función xyplot en vez de la
> >> >> variable edad.
> >> >> Espero que te sirva de ayuda.
> >> >> Un saludo
> >> >> Luciano
> >> >>
> >> >>
> >> >>
> >> >> El día 11 de noviembre de 2009 05:57,  <guivivi en alumni.uv.es>
> >> > escribió:
> >> >> > Hola,
> >> >> >
> >> >> > Gracias por contestar. Sí, la función cut() me divide los 
datos
> > en
> >> > tres
> >> >> > intervalos, se me había olvidado ponerlo, lo que me ocurre en
> > este
> >> > caso
> >> >> > es que no sé como incorporar esto a la función xyplot.
> >> >> >
> >> >> > Un saludo
> >> >> >
> >> >> >> Echa un vistazo a la función cut().
> >> >> >> Un saludo. Olivier
> >> >> >> --
> >> >> >> ____________________________________
> >> >> >>
> >> >> >> Olivier G. Nuñez
> >> >> >> Email: onunez en iberstat.es
> >> >> >> Tel : +34 663 03 69 09
> >> >> >> Web: http://www.iberstat.es
> >> >> >>
> >> >> >> ____________________________________
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> El 11/11/2009, a las 9:45, <guivivi en alumni.uv.es> escribió:
> >> >> >>
> >> >> >> > Cualquier ayuda será de utilidad, incluso para otras 
maneras
> > de
> >> >> >> > dividir
> >> >> >> > los valores de una columna en intervalos equivalentes.
> >> >> >> > (La función ?equal.count no me sirve porque se solapan 
datos).
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >
> >> >> > _______________________________________________
> >> >> > 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