Introducción

En el presente documento se elaborarán algunos tipos de gráficos para la visualización de datos.

Primero se instalan las librerías a utilizar

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(haven)
library(utils)

Con la siguiente función se elabora el área del gráfico sin ninguno de los datos dentro.

ggplot(mtcars,
       aes(x=mpg,y=disp,color=factor(cyl),
           shape=factor(carb),size=hp))

Con geom_point() se colocan los puntos de las variables dentro del área.

ggplot(mtcars,
       aes(x=mpg,y=disp,color=factor(cyl),
           shape=factor(carb),size=hp)) + 
  geom_point()

Adicionalmente, con geom_line() se unen los puntos creados mediante líneas.

ggplot(mtcars,
       aes(x=mpg,y=disp,color=factor(cyl),
           shape=factor(carb),size=hp)) + 
  geom_point() +
  geom_line()

Se establece la dirección en la cual se encuentran los archivos a trabajar, y se importan las bases de datos a trabajar, obtenidas de los microdatos del INEI.

setwd("C:/Rstudio/analisislambda")
sumaria <- read_dta("634-Modulo34/sumaria-2018.dta")
educacion <- read_dta("634-Modulo03/enaho01a-2018-300.dta")

A partir de la base de datos sumaria se elabora otra base mediante algunas de sus variables, a la que se llamará baseinicial:

baseinicial <- merge.data.frame(x = sumaria, y = educacion, by = intersect(c("conglome","vivienda","hogar"), c("conglome","vivienda","hogar")))

Y se elabora posteriormente basefinal:

basefinal <- baseinicial[,c("conglome", "vivienda", "hogar","mes.x","dominio.x", "estrato.x", "mieperho", "inghog2d", "gashog2d", "linpe","pobreza","estrsocial", "codperso", "codinfor", "p300a", "p301a", "p301d", "p207","p209")]
basefinal$p207 <- factor(basefinal$p207,label = c("hombre","mujer"))
basefinal$p209 <- factor(basefinal$p209,label = c("conviviente","casado","viudo","divorciado","separado","soltero"))

Se renombran algunas de las variables contenidas en basefinal

basefinal <- rename(basefinal,"Sexo"=p207)
basefinal <- rename(basefinal,"Estado civil"=p209)

Box plot

El primer gráfico a elaborar será un diagrama de caja o box plot mediante geom_boxplot

ggplot(sumaria,aes(x=mes,y=inghog2d)) +
  geom_boxplot() +
  ggtitle("Gráfico de ingresos por mes", subtitle = "(En soles, s/.)") +
  xlab("Meses del año") +
  ylab("Ingreso del hogar")


Gráfico de Dispersión

Un segundo gráfico que realizaremos será un gráfico de dispersión mediante geom_scatter

ggplot(basefinal,aes(gashog2d,inghog2d)) +
  geom_point(aes(color = factor(Sexo)))

ggplot(basefinal,aes(gashog2d,inghog2d)) +
  geom_point(aes(color = factor(pobreza),alpha = 0.2))


Histograma

Ahora se elaborará un histograma mediante geom_histogram

ggplot(sumaria,aes(gashog2d)) +
  geom_histogram(bins = 100)

Se puede personalizar el color del histograma, mediante la opción color:

ggplot(sumaria,aes(gashog2d)) +
  geom_histogram(bins = 100, color = "blue")

Asimismo, se puede personalizar aún más el gráfico, mediante la opción fill

ggplot(sumaria,aes(gashog2d)) +
  geom_histogram(bins = 100, color = "blue", fill = "green")


Gráfico de Barras

Se crea una variable llamada grafico compuesta por las variables estrato social y sexo

grafico <- basefinal %>% 
  group_by(estrsocial, Sexo) %>% 
  summarise(gasto = round(mean(gashog2d),2))
## `summarise()` has grouped output by 'estrsocial'. You can override using the
## `.groups` argument.

Por último, se realizarán gráficos de barras mediante geom_bar

ggplot(grafico, aes(x = as.integer(estrsocial), y = gasto, fill = as.factor(Sexo))) +
  geom_bar(stat= "identity")

Se personaliza el gráfico mediante la opción geom_text, para colocar el valor de las variables en el gráfico, así como su posición relativa

ggplot(grafico, aes(x = as.integer(estrsocial), y = gasto, 
                    fill = as.factor(Sexo), 
                    label = scales::comma(gasto, accuracy = 2))) +
  geom_bar(stat= "identity", show.legend = T) + 
  geom_text(size = 2.5, position = position_stack(vjus = 0.75))

LS0tDQp0aXRsZTogIlZJU1VBTElaQUNJw5NOIERFIEdSw4FGSUNPUyINCmF1dGhvcjogIkNhcmxvcyBBZ3VpcnJlIENvdmXDsWFzIg0KZGF0ZTogIkFnb3N0byAyMDIyIg0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDogDQogICAgdGhlbWU6IGNvc21vDQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KYGBgDQoNCiMjIEludHJvZHVjY2nDs24NCg0KRW4gZWwgcHJlc2VudGUgZG9jdW1lbnRvIHNlIGVsYWJvcmFyw6FuIGFsZ3Vub3MgdGlwb3MgZGUgZ3LDoWZpY29zIHBhcmEgbGEgdmlzdWFsaXphY2nDs24gZGUgZGF0b3MuDQoNClByaW1lcm8gc2UgaW5zdGFsYW4gbGFzIGxpYnJlcsOtYXMgYSB1dGlsaXphcg0KDQpgYGB7cn0NCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGhhdmVuKQ0KbGlicmFyeSh1dGlscykNCmBgYA0KDQoNCkNvbiBsYSBzaWd1aWVudGUgZnVuY2nDs24gc2UgZWxhYm9yYSBlbCDDoXJlYSBkZWwgZ3LDoWZpY28gc2luIG5pbmd1bm8gZGUgbG9zIGRhdG9zIGRlbnRyby4NCg0KYGBge3IsIGZpZy5hbGlnbj0nY2VudGVyJ30NCmdncGxvdChtdGNhcnMsDQogICAgICAgYWVzKHg9bXBnLHk9ZGlzcCxjb2xvcj1mYWN0b3IoY3lsKSwNCiAgICAgICAgICAgc2hhcGU9ZmFjdG9yKGNhcmIpLHNpemU9aHApKQ0KYGBgDQoNCkNvbiAqZ2VvbV9wb2ludCgpKiBzZSBjb2xvY2FuIGxvcyBwdW50b3MgZGUgbGFzIHZhcmlhYmxlcyBkZW50cm8gZGVsIMOhcmVhLg0KDQpgYGB7ciwgZmlnLmFsaWduPSdjZW50ZXInfQ0KZ2dwbG90KG10Y2FycywNCiAgICAgICBhZXMoeD1tcGcseT1kaXNwLGNvbG9yPWZhY3RvcihjeWwpLA0KICAgICAgICAgICBzaGFwZT1mYWN0b3IoY2FyYiksc2l6ZT1ocCkpICsgDQogIGdlb21fcG9pbnQoKQ0KYGBgDQoNCg0KQWRpY2lvbmFsbWVudGUsIGNvbiAqZ2VvbV9saW5lKCkqIHNlIHVuZW4gbG9zIHB1bnRvcyBjcmVhZG9zIG1lZGlhbnRlIGzDrW5lYXMuDQoNCmBgYHtyLCBmaWcuYWxpZ249J2NlbnRlcid9DQpnZ3Bsb3QobXRjYXJzLA0KICAgICAgIGFlcyh4PW1wZyx5PWRpc3AsY29sb3I9ZmFjdG9yKGN5bCksDQogICAgICAgICAgIHNoYXBlPWZhY3RvcihjYXJiKSxzaXplPWhwKSkgKyANCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9saW5lKCkNCmBgYA0KDQpTZSBlc3RhYmxlY2UgbGEgZGlyZWNjacOzbiBlbiBsYSBjdWFsIHNlIGVuY3VlbnRyYW4gbG9zIGFyY2hpdm9zIGEgdHJhYmFqYXIsIHkgc2UgaW1wb3J0YW4gbGFzIGJhc2VzIGRlIGRhdG9zIGEgdHJhYmFqYXIsIG9idGVuaWRhcyBkZSBsb3MgbWljcm9kYXRvcyBkZWwgSU5FSS4NCg0KYGBge3J9DQpzZXR3ZCgiQzovUnN0dWRpby9hbmFsaXNpc2xhbWJkYSIpDQpzdW1hcmlhIDwtIHJlYWRfZHRhKCI2MzQtTW9kdWxvMzQvc3VtYXJpYS0yMDE4LmR0YSIpDQplZHVjYWNpb24gPC0gcmVhZF9kdGEoIjYzNC1Nb2R1bG8wMy9lbmFobzAxYS0yMDE4LTMwMC5kdGEiKQ0KYGBgDQoNCkEgcGFydGlyIGRlIGxhIGJhc2UgZGUgZGF0b3MgKipzdW1hcmlhKiogc2UgZWxhYm9yYSBvdHJhIGJhc2UgbWVkaWFudGUgYWxndW5hcyBkZSBzdXMgdmFyaWFibGVzLCBhIGxhIHF1ZSBzZSBsbGFtYXLDoSAqKipiYXNlaW5pY2lhbCoqKjoNCg0KYGBge3IgcHJvZ3JhbX0NCmJhc2VpbmljaWFsIDwtIG1lcmdlLmRhdGEuZnJhbWUoeCA9IHN1bWFyaWEsIHkgPSBlZHVjYWNpb24sIGJ5ID0gaW50ZXJzZWN0KGMoImNvbmdsb21lIiwidml2aWVuZGEiLCJob2dhciIpLCBjKCJjb25nbG9tZSIsInZpdmllbmRhIiwiaG9nYXIiKSkpDQpgYGANCg0KWSBzZSBlbGFib3JhIHBvc3Rlcmlvcm1lbnRlICoqKmJhc2VmaW5hbCoqKjoNCg0KYGBge3J9DQpiYXNlZmluYWwgPC0gYmFzZWluaWNpYWxbLGMoImNvbmdsb21lIiwgInZpdmllbmRhIiwgImhvZ2FyIiwibWVzLngiLCJkb21pbmlvLngiLCAiZXN0cmF0by54IiwgIm1pZXBlcmhvIiwgImluZ2hvZzJkIiwgImdhc2hvZzJkIiwgImxpbnBlIiwicG9icmV6YSIsImVzdHJzb2NpYWwiLCAiY29kcGVyc28iLCAiY29kaW5mb3IiLCAicDMwMGEiLCAicDMwMWEiLCAicDMwMWQiLCAicDIwNyIsInAyMDkiKV0NCmBgYA0KDQoNCmBgYHtyfQ0KYmFzZWZpbmFsJHAyMDcgPC0gZmFjdG9yKGJhc2VmaW5hbCRwMjA3LGxhYmVsID0gYygiaG9tYnJlIiwibXVqZXIiKSkNCmJhc2VmaW5hbCRwMjA5IDwtIGZhY3RvcihiYXNlZmluYWwkcDIwOSxsYWJlbCA9IGMoImNvbnZpdmllbnRlIiwiY2FzYWRvIiwidml1ZG8iLCJkaXZvcmNpYWRvIiwic2VwYXJhZG8iLCJzb2x0ZXJvIikpDQpgYGANCg0KU2UgcmVub21icmFuIGFsZ3VuYXMgZGUgbGFzIHZhcmlhYmxlcyBjb250ZW5pZGFzIGVuICoqKmJhc2VmaW5hbCoqKg0KDQpgYGB7cn0NCmJhc2VmaW5hbCA8LSByZW5hbWUoYmFzZWZpbmFsLCJTZXhvIj1wMjA3KQ0KYmFzZWZpbmFsIDwtIHJlbmFtZShiYXNlZmluYWwsIkVzdGFkbyBjaXZpbCI9cDIwOSkNCmBgYA0KDQotLS0NCg0KIyMgQm94IHBsb3QNCg0KRWwgcHJpbWVyIGdyw6FmaWNvIGEgZWxhYm9yYXIgc2Vyw6EgdW4gKmRpYWdyYW1hIGRlIGNhamEqIG8gKmJveCBwbG90KiBtZWRpYW50ZSAqKmdlb21fYm94cGxvdCoqDQoNCmBgYHtyIGJveHBsb3QsIGZpZy5hbGlnbj0nY2VudGVyJ30NCmdncGxvdChzdW1hcmlhLGFlcyh4PW1lcyx5PWluZ2hvZzJkKSkgKw0KICBnZW9tX2JveHBsb3QoKSArDQogIGdndGl0bGUoIkdyw6FmaWNvIGRlIGluZ3Jlc29zIHBvciBtZXMiLCBzdWJ0aXRsZSA9ICIoRW4gc29sZXMsIHMvLikiKSArDQogIHhsYWIoIk1lc2VzIGRlbCBhw7FvIikgKw0KICB5bGFiKCJJbmdyZXNvIGRlbCBob2dhciIpDQpgYGANCg0KLS0tDQoNCiMjIEdyw6FmaWNvIGRlIERpc3BlcnNpw7NuDQoNClVuIHNlZ3VuZG8gZ3LDoWZpY28gcXVlIHJlYWxpemFyZW1vcyBzZXLDoSB1biAqZ3LDoWZpY28gZGUgZGlzcGVyc2nDs24qIG1lZGlhbnRlICoqZ2VvbV9zY2F0dGVyKioNCg0KYGBge3Igc2NhdHRlciwgZmlnLmFsaWduPSdjZW50ZXInfQ0KZ2dwbG90KGJhc2VmaW5hbCxhZXMoZ2FzaG9nMmQsaW5naG9nMmQpKSArDQogIGdlb21fcG9pbnQoYWVzKGNvbG9yID0gZmFjdG9yKFNleG8pKSkNCg0KDQpnZ3Bsb3QoYmFzZWZpbmFsLGFlcyhnYXNob2cyZCxpbmdob2cyZCkpICsNCiAgZ2VvbV9wb2ludChhZXMoY29sb3IgPSBmYWN0b3IocG9icmV6YSksYWxwaGEgPSAwLjIpKQ0KDQpgYGANCg0KLS0tDQoNCiMjIEhpc3RvZ3JhbWENCg0KQWhvcmEgc2UgZWxhYm9yYXLDoSB1biAqaGlzdG9ncmFtYSogbWVkaWFudGUgKipnZW9tX2hpc3RvZ3JhbSoqDQoNCmBgYHtyIGhpc3RvZ3JhbSwgZmlnLmFsaWduPSdjZW50ZXInfQ0KZ2dwbG90KHN1bWFyaWEsYWVzKGdhc2hvZzJkKSkgKw0KICBnZW9tX2hpc3RvZ3JhbShiaW5zID0gMTAwKQ0KYGBgDQoNClNlIHB1ZWRlIHBlcnNvbmFsaXphciBlbCBjb2xvciBkZWwgaGlzdG9ncmFtYSwgbWVkaWFudGUgbGEgb3BjacOzbiAqY29sb3IqOg0KDQpgYGB7ciBoaXN0b2dyYW0yLCBmaWcuYWxpZ249J2NlbnRlcid9DQpnZ3Bsb3Qoc3VtYXJpYSxhZXMoZ2FzaG9nMmQpKSArDQogIGdlb21faGlzdG9ncmFtKGJpbnMgPSAxMDAsIGNvbG9yID0gImJsdWUiKQ0KYGBgDQoNCkFzaW1pc21vLCBzZSBwdWVkZSBwZXJzb25hbGl6YXIgYcO6biBtw6FzIGVsIGdyw6FmaWNvLCBtZWRpYW50ZSBsYSBvcGNpw7NuICpmaWxsKg0KDQpgYGB7ciBoaXN0b2dyYW0zLCBmaWcuYWxpZ249J2NlbnRlcid9DQpnZ3Bsb3Qoc3VtYXJpYSxhZXMoZ2FzaG9nMmQpKSArDQogIGdlb21faGlzdG9ncmFtKGJpbnMgPSAxMDAsIGNvbG9yID0gImJsdWUiLCBmaWxsID0gImdyZWVuIikNCmBgYA0KDQotLS0NCg0KIyMgR3LDoWZpY28gZGUgQmFycmFzDQoNClNlIGNyZWEgdW5hIHZhcmlhYmxlIGxsYW1hZGEgKioqZ3JhZmljbyoqKiBjb21wdWVzdGEgcG9yIGxhcyB2YXJpYWJsZXMgKmVzdHJhdG8gc29jaWFsKiB5ICpzZXhvKg0KDQpgYGB7cn0NCmdyYWZpY28gPC0gYmFzZWZpbmFsICU+JSANCiAgZ3JvdXBfYnkoZXN0cnNvY2lhbCwgU2V4bykgJT4lIA0KICBzdW1tYXJpc2UoZ2FzdG8gPSByb3VuZChtZWFuKGdhc2hvZzJkKSwyKSkNCmBgYA0KDQpQb3Igw7psdGltbywgc2UgcmVhbGl6YXLDoW4gKmdyw6FmaWNvcyBkZSBiYXJyYXMqIG1lZGlhbnRlICoqZ2VvbV9iYXIqKg0KDQpgYGB7ciBiYXJyYXMsIGZpZy5hbGlnbj0nY2VudGVyJ30NCmdncGxvdChncmFmaWNvLCBhZXMoeCA9IGFzLmludGVnZXIoZXN0cnNvY2lhbCksIHkgPSBnYXN0bywgZmlsbCA9IGFzLmZhY3RvcihTZXhvKSkpICsNCiAgZ2VvbV9iYXIoc3RhdD0gImlkZW50aXR5IikNCmBgYA0KDQoNClNlIHBlcnNvbmFsaXphIGVsIGdyw6FmaWNvIG1lZGlhbnRlIGxhIG9wY2nDs24gKipnZW9tX3RleHQqKiwgcGFyYSBjb2xvY2FyIGVsIHZhbG9yIGRlIGxhcyB2YXJpYWJsZXMgZW4gZWwgZ3LDoWZpY28sIGFzw60gY29tbyBzdSBwb3NpY2nDs24gcmVsYXRpdmENCg0KYGBge3IgYmFycmFzMiwgZmlnLmFsaWduPSdjZW50ZXInfQ0KZ2dwbG90KGdyYWZpY28sIGFlcyh4ID0gYXMuaW50ZWdlcihlc3Ryc29jaWFsKSwgeSA9IGdhc3RvLCANCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9IGFzLmZhY3RvcihTZXhvKSwgDQogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gc2NhbGVzOjpjb21tYShnYXN0bywgYWNjdXJhY3kgPSAyKSkpICsNCiAgZ2VvbV9iYXIoc3RhdD0gImlkZW50aXR5Iiwgc2hvdy5sZWdlbmQgPSBUKSArIA0KICBnZW9tX3RleHQoc2l6ZSA9IDIuNSwgcG9zaXRpb24gPSBwb3NpdGlvbl9zdGFjayh2anVzID0gMC43NSkpDQpgYGANCg0KDQo8Y2VudGVyPg0KIVtdKHZpc3VhbGl6YWNpb25faW1hZ2VuLmpwZykNCjwvY2VudGVyPg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo=