Está en la página 1de 21

Gráficos en ggplot

Alejandra Ascencio Baron, Edison Vargas Buitrago

Universidad Nacional de Colombia


Facultad de Ciencias
Departamento de Estadı́stica

21 de Mayo de 2018

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 1 / 21


Gráficos en ggplot

Están basados en la gramática de los gráficos, que es una estructura


que consiste de un conjunto de elementos independientes (capas) que
se pueden componer de varias maneras y donde cada una indica
qué se va a mostrar en el gráfico.

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 2 / 21


El paquete ggplot2

”Crear visualizaciones de datos elegantes usando la gramática de


gráficos”

 Paquete de R basado en ”The Grammar of Graphics”, Wilkinson


(2005).
 Fecha de publicación: Dic 30 de 2016
 Autores: Hadley Wickham y Winston Chang

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 3 / 21


El paquete ggplot2

Los bloques de constucción incluyen:


 Datos: Lo que se quiere visualizar.
 Caracterı́sticas estéticas: Descripción de propiedades visuales
que se le asignan a las variables que se quieren graficar.

ggplot(mpg, aes(displ,hwy)) + geom_point()


ggplot(mpg) + geom_point(aes(displ,hwy))

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 4 / 21


El paquete ggplot2
 Objetos geométricos: Lo que realmente se ve en el gráfico.
 Transformaciones estadı́sticas: Permite resumir los datos de
diversas maneras.

ggplot(humr, aes(E.B.P.ACEP,E.B.P.R.POS,
colour = Edad)) + stat_identity()

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 5 / 21


El paquete ggplot2
 Objetos geométricos: Lo que realmente se ve en el gráfico.
 Transformaciones estadı́sticas: Permite resumir los datos de
diversas maneras.

ggplot(humr, aes(E.B.P.ACEP,E.B.P.R.POS,
colour = Edad)) + stat_ecdf()

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 6 / 21


El paquete ggplot2

 Escalas: Transforman un valor de la variable a un valor de una


caracterı́stica estética relacionada con esa variable.

ggplot(humr, aes(E.B.P.ACEP,E.B.P.R.POS,
colour = Edad)) + stat_ecdf() +
scale_colour_brewer(palette = "Greens")

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 7 / 21


El paquete ggplot2
 Sistema de coordenadas: Describe la ubicación de los datos en
el plano del gráfico, muestra los ejes y grillas.

ggplot(humr, aes(E.B.P.ACEP,E.B.P.R.POS,
colour = Edad)) + stat_ecdf() +
scale_colour_brewer(palette = "Greens") +
coord_polar()

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 8 / 21


El paquete ggplot2
 Condicionamiento: Divide los datos en subconjuntos y los
muestra en múltiples gráficos más pequeños

ggplot(humr, aes(E.B.P.ACEP,E.B.P.R.POS,
colour = Edad)) + stat_ecdf() +
scale_colour_brewer(palette = "Greens") +
coord_polar() + facet_wrap(˜Edad)

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 9 / 21


El paquete ggplot2
 Temas: Controla la apariencia de los componentes del gráfico
que no tienen que ver con los datos.

ggplot(humr, aes(E.B.P.ACEP,E.B.P.R.POS,
colour = Edad)) + stat_ecdf() +
scale_colour_brewer(palette = "Greens") +
coord_polar() + facet_wrap(˜Edad) + theme_bw()

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 10 / 21


Gráficos de torta

count<-data.frame(table(humr$Sex.))
p<-ggplot(count, aes(x=1,y=Total,fill=Sex.))+
labs(title="Sex.",subtitle="Aspirantes"
,caption="Datos de Encuesta",y="",x="",
fill="Sex.")
p+geom_bar(stat=’identity’, colour=’black’)+
coord_polar(theta=’y’)+theme_gray()

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 11 / 21


p<-ggplot(humr, aes(x=Est.,fill=Sex.))
p+geom_bar(width=1)+coord_polar()
+xlab("E. de Humanas")+ylab("")

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 12 / 21


Histograma

p<-ggplot(humr, aes(x = E.B.P.TO, fill = Est.)) +


geom_histogram(position = "dodge",binwidth = 20);p

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 13 / 21


Stacked bars

gr1<-ggplot(humr, aes(humr$Edad,fill=Sex.))+
geom_bar(width=0.6,position = "fill")
gr1 + xlab("Edad") + ylab("Frecuencia") +
ggtitle("Edad")+theme_bw()

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 14 / 21


Boxplot

gr1<-ggplot(humr, aes(Edad,E.B.P.TO ))
gr1+ geom_boxplot(aes(colour =Edad))+xlab("Edad")+
ylab("E.B.P.TO")+ggtitle("BienestarPsi")+coord_flip()
gr1+ geom_boxplot(outlier.size=0,colour="darkgray")+
xlab("Edad")+ylab("E.B.P.TO")+ggtitle("BienestarPsi")+
theme_bw()+geom_point(pch = 21, position = position_ji

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 15 / 21


gr2<-gr1+geom_boxplot(aes(fill =Est.))+xlab("Edad")
+ylab("E.B.P.TO")+ggtitle("Bienestar Psi")+theme_bw()
gr2+facet_grid(Sex.˜.)

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 16 / 21


Scatterplots

p <- ggplot(humr, aes(E.B.P.ACEP,E.B.P.R.POS))


p + geom_point(size = 2,aes(colour=Est.,shape=Sex.))
+ggtitle("comportamiento por sexo")+theme_bw()
p <- ggplot(humr, aes(E.B.P.ACEP,E.B.P.R.POS))
p + geom_point(aes(colour=Est.,shape=Edad,size=Sex.))
+ggtitle("comportamiento por sexo")

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 17 / 21


Regresión

g <- ggplot(humr, aes(x=E.B.P.ACEP, y=E.B.P.R.POS,


colour=Sex.))
g<-g + geom_point() + geom_smooth(method="auto")+
ggtitle("comportamiento por sexo")
ggMarginal(g, type = c("boxplot"),fill=’gray’)
ggMarginal(g, type = c("density"),fill=’lightgreen’)

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 18 / 21


g <- ggplot(humr, aes(x=E.B.P.ACEP, y=E.B.P.R.POS,
colour=Sex.))
g<-g + geom_point() + geom_smooth(method="lm")+
ggtitle("comportamiento por sexo")
g + facet_grid(. ˜ Edad, scales = "free")

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 19 / 21


Referencias

Hadley Wickham (2016) , Winston Chang (2016)


Paquete ’ggplot2’
Create Elegant Data Visualisations Using the Grammar of Graphics

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 20 / 21


Gracias

Alejandra Ascencio Edison Vargas Diseño y desarrollo de Encuestas 21 de Mayo de 2018 21 / 21

También podría gustarte