[R-es] Gr=E1fico xyplot

Luciano Selzer luciano.selzer en gmail.com
Mie Nov 11 15:33:00 CET 2009


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