0% encontró este documento útil (0 votos)
14 vistas17 páginas

PR 6

FEW

Cargado por

David
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas17 páginas

PR 6

FEW

Cargado por

David
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Fastbook 06

Programación en R
Trabajando con dataframes (I)
Edix Educación

06. Trabajando con dataframes (I)

Tal y como hemos comentado en otras ocasiones, la presente asignatura está


dividida en dos partes principales.

En la primera (del fastbook 01 al 04) se han sentado las bases del lenguaje de
programación R. Con este sexto fastbook estrenamos la fase 2, cuyo foco se sitúa en
la práctica de analytics.

¡Empezamos!

Autor: Juan Jiménez

Análisis exploratorio de datos Orden del dataframe

Transformaciones estructurales Renombrado de columnas

Introducción a dplyr Modi cación y creación de columnas

Selección de columnas Conclusiones

Filtrado de muestras
Lesson 1 of 9

Análisis exploratorio de datos


Edix Educación

Antes de nada, conviene realizar una parada que nos sirva de introducción a lo que vamos a ver
en esta última parte de la asignatura.

La siguiente imagen, tal y como se mostró en el fastbook 01, contiene el flujo de tareas a las que
se enfrenta un data scientist en su trabajo diario.

1 La importación de datos ya ha sido abordada, por lo que ya contamos con ese


conocimiento.

2 Aunque ya hemos trabajado con algunos conceptos de orden y transformación de


dato, tanto este como el siguiente fastbook vuelven a poner el foco en esta tarea,
pero desde una perspectiva más avanzada.
3 Debido a su magnitud, la modelización y visualización de datos está cubierta por
otras asignaturas del programa.

4 Por último, los dos últimos fastbooks nos enseñarán a construir informes desde R
que nos sirvan para comunicar nuestros resultados de una forma eficiente y
elegante.

Tanto en este como en el siguiente fastbook vamos a centrarnos en la manipulación y


transformación avanzada de dataframes. Para ello, haremos uso de dos paquetes que están
diseñados para trabajar con este tipo de estructuras: tidyr y dplyr.
Lesson 2 of 9

Transformaciones estructurales
Edix Educación

La primera transformación que vamos a aprender necesita del paquete tidyr, y nos permite
cambiar el formato de nuestros datos de long a wide y viceversa. Pero ¿qué son estos formatos?

Cuando trabajamos con datos estructurados (tablas), podemos diferenciar entre dos tipos de
información: aquella que nos sirve para identificar y definir a nuestra muestra, y la que nos
aporta información sobre sus características y atributos.
En muchas ocasiones, la información que identifica las muestras está constituida por más de
una columna.

Los dos ejemplos que acabamos de ver usan formato wide: cada atributo tiene su columna.
El formato long condensa todos los atributos en dos columnas: nombre de atributo y valor.
Debido a esto, una misma identificación (muestra) aparece en tantas filas como parámetros
tenga. De ahí viene el término long.

Para movernos entre estos formatos vamos a usar las funciones pivot_longer() y pivot_wider()
que, como ya hemos comentado, forman parte del paquete tidyr.

Función pivot_longer()

Parámetro Clase Definición

Dataframe en formato wide que queremos


data dataframe
transformar a formato long.

Columnas que queremos pasar a formato


cols vector long y que por lo tanto pasarán a formar
parte de la estructura atributo-valor.

Nombre de la columna que va a albergar el


names_to vector
nombre de los atributos.

Nombre de la columna que va a albergar el


values_to vector
valor de los atributos.
Función pivot_wider()

Parámetro Clase Definición

Dataframe en formato long que queremos


data dataframe
transformar a formato wide.

Nombre de las columnas que identifican


id_cols vector
nuestra muestra.

Nombre de la columna a partir de la cual


names_from vector
vamos a extraer el nombre de cada atributo.

Nombre de la columna a partir de la cual


values_from vector
vamos a extraer el valor de cada atributo.
Lesson 3 of 9

Introducción a dplyr
Edix Educación

El resto de las transformaciones que vamos a ver hacen uso del paquete dplyr. Antes de pasar a
ellas, es necesario realizar una pequeña introducción al uso y las peculiaridades de este paquete.

En primer lugar, debemos hablar sobre el operador pipe.

El operador pipe sirve para pasar un determinado parámetro a la


función que queremos ejecutar. En la práctica se utiliza para concatenar
la aplicación de múltiples funciones. Su símbolo es %>%.

Ejemplo de uso del operador pipe.

En segundo lugar, tenemos que mencionar los objetos tibble.


Son una estructura de datos muy similar a un dataframe (rectangular y
organizada en las y columnas) que se integra dentro del paquete
tibble. Dplyr importa este paquete de forma automática porque, aunque
puede trabajar con dataframes ordinarios, está diseñado para hacerlo
con tibbles.

¿Cuáles son las diferencias entre un dataframe (forma parte del R base) y un tibble (del paquete
tibble)?

El método print es distinto. Los tibbles incluyen ciertas mejoras que facilitan el
trabajo: muestran el número de filas y columnas, el tipado de cada variable y los NA
resaltados en color rojo.

Si bien los tibble pueden utilizar rownames, por defecto los eliminan y se
desaconseja usar ese atributo.

Los tibble son más estrictos a la hora de acceder a una columna. Si en un dataframe
queremos acceder a la columna edad y escribimos $ed, va a funcionar. Sin embargo,
si se trata de un tibble, mostrará un error.

El uso de las funciones data.frame() y tibble() nos permiten

movernos de un tipo de objeto a otro.

Tras conocer estos dos aspectos, es hora de pasar a la acción a través de las funciones más
importantes que se integran dentro de este paquete.
Lesson 4 of 9

Selección de columnas
Edix Educación

La función select() de dplyr sirve para quedarnos con un determinado conjunto de columnas de
nuestro dataframe o tibble.

Recibe el dataframe o tibble y el nombre de las distintas variables que queremos seleccionar.
Lesson 5 of 9

Filtrado de muestras
Edix Educación

La función filter() de dplyr sirve para quedarnos con las muestras (filas) que cumplan con unas
determinadas condiciones de filtrado que se construyen en base al valor de las variables.
Lesson 6 of 9

Orden del dataframe


Edix Educación

La función arrange() de dplyr sirve para ordenar las muestras en base a los valores de una o más
columnas.

Recibe el dataframe o tibble y el nombre de las distintas variables por las que lo queremos
ordenar. Las columnas que situemos primero tendrán mayor prioridad. Podemos usar la función
desc() para indicar orden descendente.
Lesson 7 of 9

Renombrado de columnas
Edix Educación

La función rename() de dplyr sirve para modificar el nombre de las columnas de nuestra tabla.

Para ello, tendremos que introducir el dataframe o tibble, así como los cambios de nombre que
queremos llevar a cabo. El formato a usar debe ser nombre_nuevo = nombre_antiguo.
Lesson 8 of 9

Modi cación y creación de columnas


Edix Educación

La función mutate() es una de las más potentes de dplyr. Nos permite modificar y construir
nuevas variables en nuestro dataframe.

Su funcionamiento se basa en recibir el dataframe y la definición de las variables que queremos


construir o modificar. Dicha definición puede ser un valor constante, un vector o, lo que resulta
más interesante, construirse a partir de otras columnas.
Lesson 9 of 9

Conclusiones
Edix Educación

En este fastbook hemos aprendido a utilizar dos nuevos paquetes que nos ayudan a desarrollar
tareas relacionadas con la transformación del dato. En concreto, estos paquetes se centran
en dataframes y tibbles, que son el tipo de estructura R con el que cualquier analista consume el
99% de su tiempo.

Las transformaciones que hemos abordado son:

Transformaciones estructurales (formatos wide y long).

Selección de columnas.

Filtrado de muestras.

Orden.

Renombrado.

Modificación.

Como ya os he adelantado, el siguiente fastbook es una continuación del presente. En él


abordaremos nuevos conceptos de manipulación y transformación de dataframes para que seáis

capaces de resolver retos analíticos desde la programación, que es, al fin y al cabo, el objetivo de
esta asignatura.

En concreto, trabajaremos la agregación de datos y el cruce de tablas.

¡E n h o r a b u e n a ! Fa s t b o o k s u pe r a d o
Creamos Digital Workers

También podría gustarte