[R-es] barplot

guivivi en alumni.uv.es guivivi en alumni.uv.es
Mar Feb 23 17:48:15 CET 2010


Muchas gracias por tu respuesta, Olivier.

Por mi parte, he logrado hacer lo que necesitaba y para quien le pueda 
interesar, transcribo el razonamiento que he hecho y la plasmación en R 
del mismo:

Para unir los mismos estados de sueño para cada percentil,hay que 
localizar la ordenada de cada sub-barra.
Cada barra del diagrama se corresponde con una columna de la matriz mat 
y cada sub-barra,con una fila de esa columna.
Entonces para unir los estados de sueño hay que localizar la ordenada 
de cada sub-barra para cada barra,teniendo en cuenta lo siguiente:
La ordenada de cada sub-barra es la suma del elemento de la fila de la 
columna correspondiente a esa barra más los elementos de las filas 
anteriores.  
Las siguientes líneas plasman en código este razonamiento: 
(bar es el barplot de la matriz mat: bar<-barplot(mat))


#Definir un vector de vector de vectores cuyo primer elemento sea la 
#primera fila de la matriz mat:
lista <- vector("list",1)
lista[[1]] <- mat[1,]

#Cada elemento de la lista será la suma de la fila de mat 
#correspondiente a ese elemento más las anteriores filas.
for(p in 1:5){
 lista[[p+1]] = mat[p+1,] + lista[[p]]
}

#Unir los puntos medios de los mismos estados de sueño de todos los 
percentiles: 
for(q in 1:6){
lines(bar,lista[[q]])
}

Un saludo,

Guillermo

> iulstrando con los datos HairEyeColor
> 
> data(HairEyeColor)
> datos=HairEyeColor[,,"Male"]
> bar=barplot(datos,beside=TRUE)
> for(i in 1:dim(datos)[1]) lines(bar[,i],datos[,i])
> 
> --   
> ____________________________________
> 
> Olivier G. Nuñez
> Email: onunez en iberstat.es
> Tel : +34 663 03 69 09
> Web: http://www.iberstat.es
> 
> ____________________________________
> 
> 
> 
> 
> El 23/02/2010, a las 15:36, <guivivi en alumni.uv.es>  
> <guivivi en alumni.uv.es> escribió:
> 
> > Hola,
> >
> > Un barplot de una matriz con 10 columnas y 6 filas tiene 10 barras  
> > (una
> > por columna) y cada barra dividida en seis sub-barras (una por 
fila).
> >
> > Mi pregunta es como unir mediante una recta los puntos medios de la
> > misma subarra para las 10 barras.
> >
> > Sé que con:
> >
> > datos <- c(1,4,6,3,0.5)
> > bar <- barplot(vect)
> > lines(bar,vect)
> >
> > puedo conectar los puntos medios de cada barra, pero ¿cómo podría
> > hacerlo si la variable datos en lugar de ser un vector fuera una
> > matriz?.
> >
> > Espero que alguien me pueda echar una mano.
> >
> > Muchas gracias de antemano.
> >
> > Un saludo,
> >
> > Guillermo
> >
> > _______________________________________________
> > 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