Una vez que hemos avanzando en la generación de figuras, podemos comenzar también a personalizarlas. Uno de los puntos más fuertes de R es poder generar cualquier tipo de visualización de datos lista para publicar desde nuestro código. Vamos a dar los primeros pasos.

Los gráficos anteriores nos indicaban que había una diferencia en la capacidad informativa de los dos gráficos: uno capturaba la información de la evolución temporal de todos los años almacenados en los datos, hasta el punto que no se puede distinguir bien la tendencia. El segundo nos muestra la tendencia que responde a nuestra pregunta, pero a costa de capturar únicamente la foto fija de los datos correspondientes al año 2016.

Vamos a intentar ver una manera intermedia de ver los datos de renta per capita para aprovechar y ver algunos aspectos que podemos personalizar: la forma de los puntos y los colores. Para ellos vamos a seleccionar únicamente los datos de tres países: España, Francia y Portugal. Crearemos tres objetos con los datos correspondientes a los tres países y los pegaremos uno debajo del otro con rbind(). Como sé que hay algunos datos previos a 1800 que son inferencias menos fiables, voy a seleccionar los datos solo a partir de 1800.

lifeSpain<-subset(life,Country=="Spain")
lifeFrance<-subset(life,Country=="France")
lifePortugal<-subset(life,Country=="Portugal")

lifeEurope<-rbind(lifeSpain,lifeFrance,lifePortugal)

lifeEurope<-subset(lifeEurope,Year>1799) #Me selecciona los datos que cumplan este requisito.

Ahora vamos a visualizar las trayectorias de la renta per capita a lo largo de los años en los tres países, sin diferenciarlos. Veremos que aunque se intuyen bien los datos y la evolución a lo largo de los años, no siempre es así:

plot(lifeEurope$Year,lifeEurope$GDP)

Así que vamos a utilizar también el argumento pch= que va a permitir seleccionar la forma de los puntos. Hay que decirle un número determinado a partir del 0, y cada número se corresponde con un símbolo diferente. Tenéis todas las correspondencias en la ayuda:

plot(lifeEurope$Year,lifeEurope$GDP,pch=12)

Con pch=12 me cambia los círculos por defecto, pero no me sirve para distinguir entre países. Tenemos que cambiar ese valor numérico por una columna de mis datos que pch pueda interpretar:

plot(lifeEurope$Year,lifeEurope$GDP,pch=lifeEurope$Country)

Esto tampoco es excesivamente válido: al decirle el nombre de cada país como símbolo, ha tomado la primera letra de cada país para poder hacer la visualización. Hay que factorizar mis nombres, que son cadenas de caracteres, y a continuación convertir ese factor en un número. Lo vamos a realizar en una sola línea de código, metiéndo una función dentro de otra. Esta conversión mediante la función as.factor() y después as.numeric() es necesaria porque el argumento pch, recordemos, funciona con números:

plot(lifeEurope$Year,lifeEurope$GDP,pch=as.numeric(as.factor(lifeEurope$Country)))

Ahora vamos a ver el color: se puede especificar con el argumento col=. Este argumento admite varios códigos, como el nombre de los colores, o nuevamente números que se corresponden, cada uno con un color. También códigos RGB (cantidad de rojo, verde y azul). Podemos sacar el mismo color para todos los países, por ejemplo:

plot(lifeEurope$Year,lifeEurope$GDP,col=3)

Tenemos que decirle al argumento, como en el caso anterior, que tome los valores de colores de mi columna Country (o país). Pero en este caso, solo tenemos que convertirlo en factor para que me interprete correctamente que tiene que darle un color diferente a cada uno de los países.

También vamos a aprovechar para introducir tres argumentos más:

plot(lifeEurope$Year,lifeEurope$GDP,col=as.factor(lifeEurope$Country),
     main="Evolución de la renta en tres países europeos",
     xlab="Año",
     ylab="GDP")