Cómo modificar las funciones incluidas en paquetes de R

Os voy a contar un caso real, un caso que me sucedió a mí y ahora comparto con todos vosotros. Estaba realizando varios biplots de análisis de componentes principales en R, utilizando el paquete ggbiplot. Para ello utilicé la función homónima al paquete para crear esos fantásticos gráficos usando de base ggplot2. El caso era que tenía que hacer una malla de 16 biplots, en 4 filas y 4 columnas. Si os fijáis en cómo hace las figuras el paquete, vemos que el nombre de los eje X e Y tienen una longitud relativamente alta. Si juntamos finalmente esas 16 figuras en una sola, el solapamiento de los nombres de los ejes es enorme. ¿Cómo lo solucionamos? Pues modificando la función que genera la figura, concretamente el nombre de los ejes. Y eso es lo que voy a hacer aquí, os voy a mostrar cómo modificar las funciones incluidas en paquetes de R. De este modo, podremos personalizar y adaptar dichas funciones a nuestras necesidades y requerimientos.

Y este es el ejemplo real con el que me encontré. Caótico, con demasiada información, solapamientos de los nombres…

Cómo modificar las funciones incluidas en paquetes de R

 

Cómo modificar las funciones incluidas en paquetes de R

La función que queremos modificar es ggbiplot(), contenida en el paquete ggbiplot.

El objetivo es modificar los nombres de los ejes X e Y para que sean más cortos.

Función trace() para modificar funcionar funciones de paquetes de R

La función trace() es justamente la función que necesitamos para poder personalizar las funciones predeterminadas de los paquetes de R. Podéis ver todos sus argumentos en la documentación oficial.

Primero tenemos que cargar el paquete en cuestión (en nuestro caso ggbiplot), y luego tenemos que ejecutar la función trace(), indicando la función a modificar al principio, con el argumento edit = TRUE después. Esto nos abre una ventana donde vemos cómo es la función.

library(ggbiplot)
trace(ggbiplot, edit = TRUE)

Dos modos de actuar con la función modificada

Tenemos dos opciones ahora para poder trabajar con la función. Bien modificamos la función directamente sobre la ventana que nos ha aparecido, presionando sobre Save. Bien generamos una nueva función copiando el código y modificándolo a voluntad. Yo prefiero siempre esta última opción.

Una vez generada una función nueva a partir de la original, ejecutamos nuevamente los códigos para generar los biplots de un PCA. Y este es el resultado. Mucho mejor, ¿verdad?

Modificar las funciones incluidas en paquetes de R

 

Deja un comentario

*