[R-es] Gr=?US-ASCII?Q?=E1?=fico xyplot

guivivi en alumni.uv.es guivivi en alumni.uv.es
Mie Nov 11 09:45:57 CET 2009


Hola a todos,

Tengo que construir un gráfico para una base de datos que tengo en el 
que representar para los individuos de esta base su altura vs peso en 
función de su edad.
Para ello, hay que utilizar los gráficos condicionados.
En primer lugar usé la función coplot pero cargando el paquete lattice 
se pueden utilizar funciones que generan gráficos más completos, como 
es el caso de la función que quiero usar, xyplot.
En el caso más sencillo, con hacer:
xyplot(PESO~ALTURA|EDAD,data=Data,xlab="ALTURA",ylab="PESO") ya está.

El problema que tengo surge cuando quiero dividir la edad en tres (por 
ejemplo) intervalos equivalentes con el mismo rango.
Leyendo un manual de ayuda, se sugiere seguir estos pasos:
(Para leer la base de datos quakes, una vez cargado el paquete lattice, 
desde la consola de R se hace >quakes).

mini <- min(quakes$depth)
maxi <- max(quakes$depth)
int <- ceiling((maxi-mini)/9) (9 intervalos)
inf <- seq(mini,maxi,int)
quakes$depth.cat <- factor(floor(((quakes$depth-mini)/int)),labels=paste
(inf,inf+int,sep="-"))
xyplot(long~lat|depth.cat,data=quakes)

Estas líneas hacen justo lo que necesito, pero no entiendo para qué se 
hace floor(((quakes$depth-mini)/int)).
Tengo claro que así identifica los mismos números que resultan de esta 
operación con el mismo intervalo de (inf,inf+int,sep="-") pero lo que 
quiero decir es que no entiendo la idea que te lleva a restar cada 
elemento de la columna depth menos el mínimo y luego dividir por int.

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).

Muchas gracias.



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