[R-es] Gr=E1fico xyplot
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