Sesión 3: Manipulación de datos con DPLYR y TIDYR — Transcript

Sesión 3 sobre manipulación de datos en R usando dplyr y tidyr, parte del paquete Tidyverse para análisis eficiente y automatizado.

Key Takeaways

  • La manipulación de datos es un paso crucial para preparar datos para análisis y modelamiento.
  • Tidyverse es un ecosistema de librerías que facilita el trabajo integrado en R.
  • dplyr permite transformar datos de forma secuencial y automatizada usando el operador pipe.
  • Hadley Wickham es un referente en el desarrollo de herramientas para análisis de datos en R.
  • Practicar las funciones de manipulación es fundamental para aprovechar al máximo el análisis en R.

Summary

  • Introducción a la manipulación de datos tras la importación y exportación vistas en sesiones anteriores.
  • Explicación del concepto de data wrangling o limpieza y procesamiento de datos para análisis.
  • Presentación del paquete Tidyverse como conjunto integrado de librerías para manipulación y visualización de datos en R.
  • Descripción de librerías dentro de Tidyverse como dplyr para manipulación, ggplot para gráficos, tidyr para transformación de datos, entre otras.
  • Importancia del proceso de manipulación para obtener datos limpios y listos para análisis y modelamiento.
  • Explicación del funcionamiento secuencial de dplyr usando el operador pipe (%>%) para encadenar transformaciones.
  • Mención del creador Hadley Wickham y su contribución con librerías y manuales para R.
  • Ejemplos prácticos de funciones de dplyr como filtrado, agrupamiento, ordenamiento y renombrado de variables.
  • Recomendación de practicar las funciones vistas y adelanto de la próxima sesión sobre visualización de datos.
  • Resolución de dudas técnicas y ajustes en audio durante la sesión.

Full Transcript — Download SRT & Markdown

00:02
Speaker A
¿Qué tal? Buenas noches con todos. Entonces, vamos a empezar nuestra sesión número tres. El día de hoy vamos a ver ya manipulación de datos, ¿no? La sesión anterior vimos lo que era importación, exportación de datos y bueno, ahora nos tocaría ver un tema
00:17
Speaker A
interesante, ¿no? ¿Qué pasa? Que una vez que importas la base de datos, lo que tenemos que hacer es analizar ese dato, ¿no?
00:28
Speaker A
O quizás hacer algunos tratamientos previos, ¿no? Por ejemplo, el filtrado, solamente seleccionar un grupo de variables y todo eso, ¿no? Muy bien. A eso se conoce como manipulación de datos, ¿no?
00:44
Speaker A
Quizás siempre lo hemos hecho, ¿no? Por ejemplo, cuando usamos un Excel, por ejemplo, ¿qué hacemos? Creamos variables, ¿no? Eliminamos variables, hacemos medidas resumen, las famosas tablas dinámicas, ¿no?
01:01
Speaker A
Todo eso lo hacemos en nuestro día a día, en el banco, ¿no? Pero, ¿qué pasa si es que quiero hacer cosas ya de manera más automatizada? No, el Excel es manual, ¿no? Entonces el R va a ser una
01:17
Speaker A
herramienta muy especializada en eso, ¿no? Muy bien. Entonces empecemos con nuestra sesión de manipulación de datos.
01:27
Speaker A
Muy bien, vamos a ver algunos conceptos básicos, eh, sobre manipulación de datos, ¿no? Y específicamente entraremos en lo que es manipulación de datos y todo lo que implica hablar de manipulación de datos, ¿no? Obviamente este tema es muy
01:44
Speaker A
amplio, ¿no? Pero vamos a tratar de ver los puntos más interesantes, ¿no? Si hay algún punto que merece... Ah, el audio está abajo. A ver, un momento. Ah, ¿me confirman si el audio está abajo, por favor? A ver,
02:01
Speaker A
¿me confirman los demás me escuchan? A ver, fuerte y claro. Okay. A ver, Romer, trata de subir. A ver, otros me dicen que está abajo. A ver, voy a conectar nuevamente mi audio. A ver, ¿sí? No.
02:34
Speaker A
Entonces, eh, vamos a ver, a ver, me confirman el audio, por favor, si todo está bien. Okay, ya ahora creo que ya me escuchan. Muy bien. Entonces, vamos a ver conceptos básicos y propiamente hablaremos sobre manipulación de datos,
02:53
Speaker A
¿no? Y algunas referencias bibliográficas. Muy bien, gracias Aldo. Muy bien, [Música] muy bien. Hablemos de los conceptos básicos, jóvenes. Manipulación de datos en, por ejemplo, en lo que es países europeos o Estados Unidos, por ejemplo, se habla de
03:15
Speaker A
data wrangling, ¿no? Así se le conoce. Ese es el nombre que le dan, ¿no?
03:22
Speaker A
¿Por qué existe este tipo de... ¿Qué tal, Jan? Buenas, buenas noches, no se preocupen.
03:31
Speaker A
Entonces, la data wrangling, ¿por qué existe, no? O cuál es la necesidad de que exista la manipulación de datos?
03:37
Speaker A
Lo que pasa es que en la vida real, jóvenes, es difícil que tengamos datos tal como lo necesitamos para hacer nuestros análisis, ¿no? Eso es prácticamente imposible.
03:50
Speaker A
Siempre va a haber pues, no sé, en cada, no sé, imágenes, espacios, eh, cabeceras agrupadas, no sé, un montón de cosas, ¿no?
04:02
Speaker A
Entonces no siempre la data que nos proporcionan está lista para el análisis. Siempre hay que hacer una especie de tratamiento para tener una data más limpia, ¿no?
04:12
Speaker A
Entonces, nosotros tenemos que obviamente arreglar esos datos. A eso muchos le dicen limpieza, ¿no? O también procesado de datos, ¿no?
04:24
Speaker A
A todo ese proceso se le conoce el famoso data wrangling, ¿no? Bueno, en el idioma inglés nosotros lo vamos a llamar simplemente manipulación de datos, ¿no?
04:36
Speaker A
Hay todo un proceso, ¿no? Por ejemplo, se importa la base de datos, se usa una librería especializada y acá se hace toda la transformación posible, ¿no?
04:48
Speaker A
Toda la transformación posible de tal manera que tu conjunto de datos ya esté mucho más limpio, ¿no?
04:54
Speaker A
Y una vez que ya tengas tu data limpia, ya puedes hacer eh visualización de datos, modelos, y una vez que hagas visualización de datos o modelos o modelamiento de datos, ya estás listo para comunicar tus resultados, ¿no? Entonces, eso es el
05:12
Speaker A
proceso de la manipulación de datos, ¿no? Es un proceso intermedio muy importante, por cierto, eh, tan importante es que de eso va a depender tus análisis, ¿no? sus resultados.
05:25
Speaker A
Entonces siempre hay que darle una importancia de vida a ese proceso, ¿no?
05:32
Speaker A
Muy bien, eso es unos conceptos básicos, ¿no? En R, jóvenes, existe el famoso Tidyverse, esa película del multiverso.
05:46
Speaker A
Ya, algo por ahí, ¿no? De ver, jóvenes, es una librería que agrupa o colecciona librerías.
05:58
Speaker A
Las librerías por sí solas ya existen. Ustedes, por ejemplo, ya ayer algo rápido vimos GGplot, ¿no?
06:05
Speaker A
Para hacer gráficos especializados, ¿no? Tidyverse, jóvenes, es una librería que agrupa todas estas librerías que están acá.
06:18
Speaker A
Tidyverse. Si tú instalas Tidyverse, automáticamente ya tienes todas estas librerías y cada una de estas librerías tiene cosas muy especializadas, ¿no?
06:30
Speaker A
Por ejemplo, por ejemplo, jóvenes, ggplot para visualización de datos. dplyr es para manipulación de datos.
06:43
Speaker A
readr para leer datos. Igual y así todo, ¿no? Por ejemplo, tibble para data frames, por ejemplo, ¿no? tidyr para también hacer manipulación de datos y así hay muchas más cosas, ¿no?
07:00
Speaker A
Entonces, Tidyverse, jóvenes, es una librería que colecciona o agrupa librerías y que funcionan, eh, y que básicamente ha sabido integrar todas esas librerías, ¿no?
07:15
Speaker A
Muy bien, entonces Tidyverse, jóvenes, se hace referencia a una nueva forma de afrontar el análisis de datos en R. No, se hace uso de un grupo de paquetes o librerías que trabajan en armonía porque comparten ciertos principios generalmente que es la estructura de
07:35
Speaker A
datos, ¿no? Entonces, Tidyverse, jóvenes, tiene todas las herramientas necesarias para hacer una manipulación de datos y una visualización de datos, ¿no?
07:49
Speaker A
de proceso de importación y todo ello. Es, es decir, es algo así como un paquete completo para los análisis, ¿no?
08:01
Speaker A
No conforme con eso, ya tiene más paquetes incorporados. Por ejemplo, también tiene ahora Tidy Models, ¿no?
08:10
Speaker A
El famoso Tidy Models que hace modelos, eh, de machine learning, por ejemplo, ¿no? Cada vez se va, eh, complementando mejor, ¿no?
08:25
Speaker A
Muy bien, eso es. A ver, hay una consulta en el chat. Ah, nada más. Muy bien, eso es el famoso una librería que colecciona librerías que funcionan, eh, de manera bien, ¿no? En conjunto, ¿no?
08:43
Speaker A
La mayoría de estos paquetes o librerías, jóvenes, han sido desarrollados por Hadley Wickham. Esa persona o ese investigador ha creado estas librerías, jóvenes. ggplot, por ejemplo, es su mayor obra, ¿no?
09:00
Speaker A
Hadley, por ejemplo, creó la librería ggplot y además creó un libro de ggplot para hacer gráficos, literal es un manual para hacer gráficos con ggplot, ¿no?
09:12
Speaker A
Cuando llevemos ese tema de visualización de datos, yo les voy a compartir el libro de Hadley, que es superpotente, jóvenes.
09:21
Speaker A
Ahí nos enseñan pues desde lo más básico hasta lo más complejo, ¿no? Pero con la ayuda de la jóvenes, ya como que ese libro ha quedado un poco delegado, ¿no? Pero igual siempre es bueno aprender cosas interesantes.
09:39
Speaker A
Muy bien, eso es un poquito del Tidyverse, ¿no? Muy bien. El Tidyverse, jóvenes, tiene una librería especializada para manipulación de datos. El famoso dplyr, ¿no? Esto de acá, esta librería se enfoca netamente en manipulación de datos. Es su fuerte, es
10:02
Speaker A
su fortaleza. Pero esta librería trabaja como algo así, ¿no? Por ejemplo, tengo mi base de datos.
10:15
Speaker A
A esta base de datos yo le voy a aplicar una función y me lo va a transformar. Ahora ya se va a llamar BD asterisco.
10:27
Speaker A
Luego a esta base de datos le voy a aplicar otra función. Ahora se va a llamar BD asteriscodos.
10:34
Speaker A
Entonces, algo así funciona la lógica de esta librería del dplyr. Funciona de manera secuencial. Cada operación que tú indicas se va a afectar al objeto anterior, ¿no? Por ejemplo, esta función puede ser filtrado, esta opción puede ser un group.
10:55
Speaker A
A partir de la data original, tú puedes generar otros objetos con las transformaciones que tú desees, ¿no?
11:04
Speaker A
Para hacer esta secuencia de operaciones, el dplyr usa el operador pipe, un operador pipe, ¿no? Así se le conoce.
11:17
Speaker A
Este operador hace la secuencia de concatenación de funciones que se le aplica al conjunto de datos.
11:24
Speaker A
Este operador pipe en el R se denota de esta siguiente manera. Estos tres símbolos, ¿no?
11:34
Speaker A
Porcentaje, mayor, porcentaje, ¿no? O ahora es así también. Hasta hace un buen tiempo era así. Ahora la simb...
11:56
Speaker A
Porque cuando hagamos los ejercicios, jóvenes, se van a preguntar, "Profesor, ¿y cómo se hace la concatenación de funciones?" Entonces, HLEG efectivamente también construyó este operador pip, que su símbolo es de esta manera. Ahora es así, pero los dos funcionan, jóvenes, no hay
12:18
Speaker A
problema. El PIB, mejor dicho, este operador es básico en el T ver jóvenes, ya que permite encadenar llamadas a funciones para así realizar de forma sencilla transformaciones a los datos.
12:39
Speaker A
ese operador hace la concatenación de funciones. Los que han llevado su curso de cálculo uno en la universidad seguramente han escuchado de las funciones de composición, por ejemplo, ¿no?
12:55
Speaker A
A ver, un poquito recordando, ¿no? La función de composición del dado X, algo así, ¿no? Era así, ¿no?
13:07
Speaker A
f aplicado a G de X, ¿no? G se aplica X y F aplica a G y a X, ¿no?
13:17
Speaker A
Ya la lógica es igualito de este operador pip, ¿no? Es una función que encadena, o mejor dicho, es un operador que encadena funciones, ¿no?
13:28
Speaker A
Muy bien. Si bien este operador es el que le creó fue Stefan Beach, por ejemplo, Hley al formar parte del multiverso, se podría decir, de las librerías, lo hizo muy mucho más popular, ¿no?
13:49
Speaker A
Entonces, eso es lo interesante, algo así, ¿no? El operador pip equivale a x. Aplico la función, es decir, la función ya existe, pero este x lo evalúa en la función y recién me da el resultado, ¿no?
14:07
Speaker A
Algo así, algo así funciona ese operador. Muy bien. Es un poco un poco raro ese operador, pero van a ver lo útil que es cuando se hace en R. Es muy importante.
14:24
Speaker A
Muy bien. Eso sería el operador PIB. ¿Cuáles son los principales paquetes del Tigers, jóvenes? Si bien el Tiger es una colección de objetos, una librería que colecciona objetos, yo diría que los más los dos más importantes sería el player joven
14:47
Speaker A
para manipular datos y el GG plot para hacer gráficos. Con estos dos jóvenes estamos listos para todo.
15:02
Speaker A
Los demás importar datos. Hay otras librerías que hacen importación de datos, ¿no? No sería tan determinante esa librería, pero D Player y Gig Pro, dos jóvenes, eso sí es un golazo. Es lo mejor que pudo haber creado ese autor.
15:22
Speaker A
Es lo mejor. Muy bien, entonces veamos un poquito más sobre ello. Ya hablemos entonces, jóvenes, del player, esta librería para manipulación de datos ¿no?
15:41
Speaker A
Su símbolo es esto, ¿no? Un alicate, ¿no? Ya te está indicando que es es una librería para hacer pues trabajos, ¿no?
15:51
Speaker A
Trabajos especializados. De Player, jóvenes, es un paquete que permite manipular datos de forma intuitiva. Eso es lo que lo hace interesante jóvenes.
16:04
Speaker A
Eso es lo que lo hace interesante de forma intuitiva, ¿no? Tiene cinco funciones, dice, miren, tiene cinco funciones, también conocido como verbos principales.
16:21
Speaker A
Cada uno de ellos hace una sola cosa. Así, claro, a tu conjunto de datos, tú no tú no solamente vas a aplicar una sola función, puedes aplicar muchas funciones de tal manera que es que tu data esté lista para el análisis, ¿no?
16:43
Speaker A
Esta concatención de funciones que vas a aplicar a tu conjunto de datos se tiene que hacer con el operador PIP, donde el operador PIP es el especializado en ello, ¿no?
17:00
Speaker A
Eso es, jóvenes, eso no hay que olvidarse. Muy bien. Y esto es la famosa librería, ¿no? logo de la librería de player.
17:17
Speaker A
Muy bien, hasta ahí todo bien. Hablamos de que deepar es una librería para manipulación de datos, pero necesitas conocer cuáles son esas principales funciones que tiene de player para hacer manipulación de datos.
17:37
Speaker A
Y ustedes dirán, "Profesor, tengo el filter en primer lugar." Y ustedes preguntarán, "Profesor, ¿para qué sirve el filter?" Para hacer filtros, ¿no?
17:55
Speaker A
El arrange para qué sirve, profesor? para ordenar las filas, ya sea ascendente o descendente.
18:05
Speaker A
¿Para qué sirve rename, profesor? Para renombrar el nombre de las variables ¿no? Y así.
18:16
Speaker A
Y el select, profesor, ¿para qué sirve el select? sirve solo para seleccionar ciertas variables que yo deseo.
18:27
Speaker A
Y el mutate, el mutate sirve para crear nuevas variables. Crea nuevas variables, jóvenes. Y así hay mucho más cosas. del Samarí, jóvenes, es una función que sirve para hacer resúmenes, un aggregate, un collapse, como se dice.
18:52
Speaker A
Imagínate que tienes data nominal por obviamente por persona y te piden saber el número de personas por departamento, ¿no? Entonces tienes que hacer un agregado, ¿no? O promedio de salarios por departamento.
19:09
Speaker A
¿Se dan cuenta? Entonces, la importancia de hacer resúmenes, ¿no? Muy bien. Y bueno, también existe una función muy importante, diría yo, el famoso groupy.
19:24
Speaker A
Group by permite agrupar, jóvenes. Y si tú combinas group by con un Samarís, calculas resúmenes por grupo, no es uno.
19:40
Speaker A
Estas son las principales funciones de player. ¿Existen muchos más? Sí. En el proceso vamos a aprender cada uno de ellos, no se preocupen.
19:49
Speaker A
Ahora, para mí es más importante que ustedes aprendan un poquito la teoría, saber qué es player, qué es verse y todo ello ¿no?
20:02
Speaker A
Muy bien, ahora sí. Todo lo que hemos visto es una introducción al a la manipulación de datos y al famoso timbers, ¿no?
20:16
Speaker A
Si entramos específicamente a manipulación de datos, ya vamos a ver algunos ejercicios. Por ejemplo, vamos a ver esto de acá, el famoso filter.
20:28
Speaker A
Profesor, ¿cómo se usa filter en un conjunto de datos? Es decir, en el R.
20:32
Speaker A
¿Cómo se usa eso? No, filter en primer lugar, jóvenes, hace un filtrado ¿no? Sirve para filtrar, en otras palabras, de eso h es sencillo de saber qué hace esa función, ¿no?
20:53
Speaker A
Muy bien. Miren cómo se aplica. Primero cargamos la librería especializada, Tiders, ¿no? o algunos puedes puedes cargar normalmente el d player, no hay problema. Lo que pasa Tiders ya tiene a todas esas librerías incluidas, ¿no?
21:14
Speaker A
Luego llamo a la base de datos. La data Iris es una data propia del R, ya existe en el R.
21:21
Speaker A
Luego creo un objeto nuevo, BDF, es decir, BD filtrada. Le digo que es igual a la base de datos.
21:28
Speaker A
Miren esta lógica, jóvenes. Ah, les voy a explicar brevemente. Creo un nuevo objeto BDFIL, que va a ser igual a la base de datos original y dice lo siguiente. A esta data original le voy a aplicar la función
21:49
Speaker A
filter. En otras palabras, a esta base de datos filtrame solo los que son de la especie cetosa.
21:58
Speaker A
Esa data con esta función se va a almacenar en este objeto de acá, ¿no?
22:05
Speaker A
Y listo. Con eso ya tendrías tu data filtrada en un nuevo objeto, obviamente llamado Bdefil, ¿no? Se dan cuenta acá estaría.
22:19
Speaker A
Así de simple. Juana. Eso es la manera de aplicar filter ¿no? Muy bien. Vayamos a nuestro R para entender esa parte.
22:37
Speaker A
A ver, abran su R. Ustedes tienen a todos los materiales, jóvenes. [Música] Y yo voy a abrir mi laboratorio eh tres, ¿no? Manipulación de datos.
22:52
Speaker A
Muy bien, voy a limpiar con mi escobita. ¿Y dónde está el timiders? A ver.
23:03
Speaker A
Ah, está en el otro laboratorio. Vamos a ver. Ejercicios extras, ¿no? Acá está. Miren, acá está. Cargo el TBERS.
23:18
Speaker A
Ahí está. Ya cargué. Ya les comento que Iris es una data ya del R, jóvenes. El R lo tiene.
23:28
Speaker A
Por ejemplo, si ustedes escriben acá Iris y le dan enter, aparece el conjunto de datos. ¿No se dan cuenta? Es decir, no tienes que cargar.
23:39
Speaker A
Esta data de iris es una data de una planta, ¿no? Creo que es una rosa, si no me equivoco, que han registrado cuatro mediciones. Longitud del cépalo, ancho del cépalo, longitud del pétalo y ancho del pétalo y el tipo de especie, ¿no?
23:58
Speaker A
Cetosa, vesiculor y virgínica, ¿no? Entonces, si me piden solamente filtrar a las especies cetosa, tendría que hacer el uso del filtro, ¿no?
24:17
Speaker A
Pero este data Iris lo voy a almacenar en un objeto BD. A ver, Anthony, ¿qué pasó?
24:29
Speaker A
Todos los materiales se han compartido en debido momento. A ver, les voy a compartir por este medio. Ya.
24:35
Speaker A
A ver, a ver, un momento, un momento. Ya. A ver, a ver. Vamos a ver.
24:48
Speaker A
Lo que estamos viendo ahorita es el ejercicio de clase. Ahí está. se pasée por el chat del Zoom. Ya.
25:01
Speaker A
Muy bien. Les comentaba, jóvenes, lo siguiente ¿no? Esta data Iris ya existe en el R, lo voy a almacenar en este objeto BD. Miren, automáticamente lo he asignado, ¿no? Si le doy clic, acá está la base de datos.
25:23
Speaker A
Tengo cetosa, tengo viculor y tengo virgínica. Muy bien. Si me piden solamente filtrar a los cetosa de este conjunto de datos, ¿qué es lo que tengo que hacer?
25:41
Speaker A
Voy a crear un nuevo objeto llamado BDFIL. Va a ser igual a la base A datos. Y a esta base datos le voy a aplicar operador pip.
25:53
Speaker A
Filter. Filter hace el filtrado. Le digo de la variable especies, obviamente la base de datos BDE. Fítrame solo los que son cetos.
26:08
Speaker A
Sombreo esto y miren jóvenes, acá se dan cuenta 50 y solamente tengo cetos. ¿Por qué? Porque efectivamente yo le pedí filtrar solo eso, ¿no?
26:30
Speaker A
¿Cómo saber si solamente tengo cetosa, profesor? Existe una función llamado table. que sirve para hacer tablas de frecuencia.
26:40
Speaker A
Simplemente leas la data original y símbolo de dólar la variable, una tabla frecuencia de la variable especie de la base de datos BDFIL, ¿no?
26:52
Speaker A
Así se podría leer. Si tú ejecutas y sombreas, sombreas y ejecutas, efectivamente, ¿no? Solamente tienes de la especie de la especie cetosa, ¿no?
27:07
Speaker A
Sí no. Muy bien. Su compañero Alejandro pregunta, ¿se selecciona por columna cetosa siempre? No, tú puedes elegir otra columna original, ¿no? Por ejemplo, quizás decir, "Seleccióname solo los que son longitud del pétalo mayor a 1.4, por ejemplo, también, ¿no? ¿Cómo sería eso?
27:35
Speaker A
Vamos a ver. Miren, ah, inclusive pueden combinar filtros criterios ¿no? Por ejemplo, acá de fil dos. Voy a poner ya filtrame, por ejemplo. A, voy a borrar esto y voy a usar otra variable. A ver, ¿qué variables tiene esta variable? Esta data
28:00
Speaker A
original. ¿Cómo saber? names. Names y acá está el nombre de las variables de este objeto BD, ¿no?
28:12
Speaker A
Supongamos que quiero que la longitud del pétalo sea mayor o igual, ¿ya? No, mayor a 1.3.
28:27
Speaker A
Claro, para eso primero tienes que fijarte en tu data. Hay 1.3, 1.4, ¿sí? 1.1, un valor coherente, ¿no? Obviamente.
28:40
Speaker A
Uy, a ver, a ver. Entonces, le estoy diciendo que filtrame de la data original, filtrame solo los que son longitud de pétalo mayor a 1.3.
28:56
Speaker A
Si aplico esto, sombreo, miren, jóvenes, ¿se dan cuenta? Acá está, miren. Correcto. Correcto. Muy bien. Este código genera este objeto, ¿no?
29:18
Speaker A
Así de simple, Ju. Ahora, profesor, ¿se puede combinar criterios? Sí puede. ¿Cómo así, profesor? Miren, copio esto acá y acá quiero que cumpla esta condición y además quiero que sea de la especie S2.
29:44
Speaker A
Cuando yo digo I implica que debe cumplir ambas condiciones para que recién pertenezca a este nuevo objeto. Le voy a llamar BDFIL 3.
30:01
Speaker A
Profesor, ¿eso es una intersección de condiciones? Sí. Si quisiera una unión, es decir, que cumplan o o el otro, el símbolo es la barrita.
30:18
Speaker A
Eso es la o la unión. En nuestro caso le estoy diciendo, "Oye, quiero que me filtres, pero que cumplan dos condiciones al mismo tiempo.
30:32
Speaker A
Lo único que voy a hacer es ejecutar. Y miren, jóvenes, B de filtres, hay 39 casos.
30:42
Speaker A
Este conjunto de código te proporciona este objeto, ¿no? ¿Se dan cuenta? Pero para mí, jóvenes, lo más importante es que entiendan qué hace filter. Filter hace filtros, nada más. Filtros, pero bajo condiciones.
31:04
Speaker A
Y las condiciones van a depender pues de los análisis que tú quieres realizar, ¿no?
31:09
Speaker A
Muy bien. Interesante ¿no? Excelente muchachos. Regresemos previamente a nuestra teoría. Y efectivamente, no, eso es lo que se hizo acá.
31:28
Speaker A
Eso es lo que se hizo acá. Filter. ¿Se dan cuenta que este operador pip, jóvenes? Es buenazo ¿no?
31:41
Speaker A
Muy bien. Antes de entrar a ese famoso, a los demás, esto también se puede hacer de la siguiente manera. Mira, miren, miren. Ah, BDFIL 4. Miren, algunos lo hacen así, mira, algo así, algo así, ¿no? Ya los que escriban buen
32:02
Speaker A
código hacen esto, ¿no? Miren. Ah, lo anterior que hemos hecho, jóvenes. Miren que cómo también se podría escribir.
32:13
Speaker A
Miren jóvenes miren qué es lo que se hace. Algunos cuando ya tienen un poco más experiencia, esto lo escriben así.
32:30
Speaker A
Es válido. Sí, es válido, jóvenes. Claro, si tienes muchas condiciones va a ser un código muy largo, ¿no? Entonces puedes hacer estes saltos, ¿no?
32:45
Speaker A
Estos dos que acabo de poner acá, jóvenes, son equivalentes que la que la anterior.
32:52
Speaker A
Son equivalentes, ¿ya? O lo puedes hacer así o lo puedes hacer así. Yo recomiendo esto último porque es mucho más claro el código, más entendible de todas las cosas que has hecho, ¿no? Pero ambos son válidos, jóvenes, no hay problema.
33:07
Speaker A
Por ejemplo, si ejecuto esto, obviamente me va a crear otro objeto con la misma cantidad de valores, ¿no?
33:15
Speaker A
Porque en ambos son códigos en diferentes presentación, pero la lógica es la misma, ¿no?
33:23
Speaker A
Se dan cuenta. Entonces quería aclararlos ese punto también, jóvenes, para que esté un poco un poco más claro, ¿no? Muy bien.
33:36
Speaker A
Ahora vayamos a nuestra teoría y veamos el otro punto que tenemos que ver ya. El famoso opción arrange jóvenes.
33:47
Speaker A
En inglés lo que saben un poco de inglés es ordenar, ¿no? O reordenar, como lo quieran llamar.
33:58
Speaker A
Muy bien, muy bien. Lo que tienen que hacer es lo siguiente. Ordenar si es un número puede ser ascendente o descendente.
34:14
Speaker A
Si es una variable categórica va a ser alfabético ¿no? Más sentido tiene cuando es una variable numérica ¿no?
34:23
Speaker A
Por ejemplo, voy a crear mi objeto BD arrange de mi data original. A mi data original le voy a aplicar la operador pip, la función arrange sobre la variable longitud del cépalo.
34:39
Speaker A
Longitud del cépalo, ¿dónde está? Acá está. Profesor, la función arrange, ¿qué hace? Ordena. Pero si tú no le agregas un argumento que va a ir por acá, por cierto, por default hace de menor a mayor. Por default, por defecto, no de menor a mayor.
35:08
Speaker A
Eso hace esa función a RS. Si es que tú no le das un argumento más por defecto, jóvenes, o por default, ¿cómo se dice?
35:18
Speaker A
ordena de menor a mayor, jóvenes. Eh, eso es lo que hace. Muy bien. Vayamos a ver en el R cómo funciona eso.
35:37
Speaker A
Acá está. Justo estamos acá. Muy bien. Vayamos a nuestra data. Esta es la variable, ¿no? Sepas len, ¿no? Si ustedes le dan clic, miren, también se ordena, ¿no?
35:55
Speaker A
Dan cuenta exploren, por favor. Exploren de menor a mayor. De mayor a menor. No, pero eso no me sirve. A mí yo lo quiero hacer en código, no está haciendo clic cada rato, no, no tiene sentido.
36:09
Speaker A
Entonces, voy a crear mi objeto BDN range igual a la base de datos original.
36:13
Speaker A
A la data original le voy a aplicar la función arrange de la variable cpal, ¿no?
36:23
Speaker A
Esta función head de este objeto te permite ver los 10 primeros registros. Sombreo y ejecuto.
36:34
Speaker A
Y miren, CPAS lengom agregué un argumento de orden por default es de menor a a mayor, no lo ha ordenado.
36:49
Speaker A
Y ustedes dirán, "Profesor, ¿y cómo sé que lo ha ordenado? Si ustedes ven la data original, esto está ordenado.
37:02
Speaker A
No, no, no está ordenado. Pero esto de acá, esto sí está ordenado de menor a mayor, ¿no? Se dan cuenta eso es lo interesante, jóvenes.
37:17
Speaker A
Freddy, la base atos es del propio R. Miren, para usar esa base de datos que estamos viendo acá, simplemente haen este proceso. Miren esto acá, corran solamente esto.
37:33
Speaker A
Ustedes ya tienen ese código, jóvenes. Simplemente corran, ¿no? Si corran esa línea cu ya tienen la base de datos que es propio del R, por cierto. Simplemente yo lo estoy almacenando en ese objeto media ¿no?
37:48
Speaker A
Ya después vamos a ver una data real. Muy bien. De menor a mayor, ¿no, profesor? Si quiero que sea descendente.
38:00
Speaker A
Descendentemente. Bueno, se le agrega la palabra des previo a la variable, jóvenes. Eso es lo único que hay que hacer.
38:14
Speaker A
Si no lo agrego nada es de menor a mayor. Si le agrego de mayor a menor.
38:23
Speaker A
Así de simple, jóvenes. Profesor, una pregunta, disculpe que lo adelante. Adelante. En anterior eh dijo que solamente por defecto, si entiendo bien, eh tomaba los solamente los 10 primeros valores.
38:41
Speaker A
No, no. Esta función muestra los valores que tú deseas. Ah, aquí el cuando le agregues el 10 después de de de es para previsualizar nada más. Okay.
38:54
Speaker A
Los 10 primeros. Gracias. Pero el arrange hace todo el ordenamiento. Esta función head me dice, "Oye, muéstrame los 10 primeros datos de la data BD RH." Nada más es para visualizarlo, nada más.
39:10
Speaker A
Muy bien. Excelente. Buena pregunta. A ver, en el segundo caso, ya como yo quiero de mayor a menor o descendente, le voy a agregar esta palabra, esta función llamado des entre paréntesis la variable y listo.
39:30
Speaker A
Miren lo que sucede, Juan. Miren lo que sucede. Esto es mi variable de menor a mayor, ¿no?
39:44
Speaker A
Se ha ordenado, ¿no? Eso es la utilidad de esa función arrange jóvenes. Super práctico, ¿no? Sencillo.
39:57
Speaker A
Muy bien. Entonces, ya saben eso, ¿no? Ya, ya les he comentado, jóvenes, si quieren saber más cosas de esto, help, la función y les va a dar más cosas por aquí.
40:12
Speaker A
Muy bien, jóvenes, ya vimos la siguiente función de playayer y se han dado cuenta que es super práctico, ¿no?
40:23
Speaker A
Rename, profesor, ¿para qué sirve rename? para renombrar básicamente el nombre de las variables, ¿no?
40:34
Speaker A
A veces eh las datas pues tienen nombres extensos con espacios inclusive, ¿no? Tildes, eñes y a veces dificultan los análisis, ¿no? En este caso está en inglés, por ejemplo, los nombres.
40:49
Speaker A
Entonces tú puedes cambiarlo a español, no hay problema. ¿Cómo se hace eso, profesor? usas la función rename.
41:01
Speaker A
Ojo, acá lo primero que se pone es la nueva variable. ¿Cómo quieres que vaya?
41:09
Speaker A
Y cómo era antes. ¿Cómo quieres que vaya? Y como era antes, si tengo varias variables por cambiar, lo puedo hacer con coma, ¿no? Acá hay una coma, si se dan cuenta.
41:24
Speaker A
Eso implica que voy a hacer varios renombres de las variables, ¿no? Eso acá poner new o diab algo así para que se entienda un poco.
41:42
Speaker A
Eso es el orden, ¿no? Eso es el orden que hay que seguir, jóvenes. Ya.
41:48
Speaker A
Y esto sí sí es muy útil porque yo he tenido casos en el cual la variable eran eran textos con espacio, entonces era un dolor de cabeza, ¿no? Entonces lo renombro y es mucho más interesante, ¿no?
42:05
Speaker A
Eh, Alejandro, en cualquier programa de análisis datos no se recomienda poner caracteres extraños en el nombre de las variables. Eso no es recomendable porque a veces vas a tener problemas porque no reconoces eñes, tildes y esas cosas, ¿no? Entonces, mejor variables
42:26
Speaker A
así concretas, ¿no? Muy parecido a lo que hacen los informáticos, ¿no? Las variables son abreviaciones del de la variable original. Claro, siempre lo acompañan con un diccionario variables, ¿no? Para que sepamos qué significa cada variable.
42:41
Speaker A
Muy bien, eso es, ¿no? Y acá se and, si se dan cuenta, jóvenes, ya se hizo los cambios, ¿no?
42:51
Speaker A
Los demás siguen igual porque no se hicieron los cambios. Eso es, jóvenes, la función rename te permite, obviamente renombrar las variables, ¿no?
43:05
Speaker A
Muy bien. Vayamos a ver cómo se hace esto en el R. A ver, antes limpiemos nuestro Bueno, esto que dejarlo, no hay problema.
43:20
Speaker A
rename. Creo mi objeto rename de mi base de datos original digo rename variable nueva longitud del cépalo.
43:32
Speaker A
Variable vieja cpalen coma. Variable nueva ancho del cépalo. Variable vieja cpal white variable nueva especies. Variable antigua especies.
43:49
Speaker A
Como está en inglés, ¿no? Ahora lo lo pasé al español. Sombreo y ejecuto. Y señores, acá está mi objeto BDR.
44:01
Speaker A
Es decir, todo este pequeño código que acá jóvenes me permite crear una nueva un nuevo objeto llamado BD Ray, ¿no? Es decir, un objeto donde ya está pues eh renombrado las variables, ¿no?
44:19
Speaker A
Adelante, Jan Charlie. ¿Cuál es su consulta? Sí, muy buenas noches y en primera instancia disculparme por la tardanza debido al tránsito, pero me gustaría tener el sentido para seguir la lógica y disculpen que vuelva un poquito hacia atrás acerca de el signo o lo que
44:43
Speaker A
significa la nomenclatura del signo de por cento mayor que signo de por y cómo esto se relaciona a lo que es el rename.
44:54
Speaker A
Ya que entiendo que puede, o sea, entiendo lo de R name perfectamente, pero ¿cuál es la incidencia de el signo de% mayor que%? Pues muy bien, muy bien, no te preocupes. Y por la tadranza no te preocupes, no hay
45:11
Speaker A
problema. Vamos a regresarnos unas líneas atrás. Este simbolito se le conoce como el famoso operador Pipe, que por cierto fue acuñado por Stefan Patch, en este caso en su libro, ¿no?
45:28
Speaker A
Sacó un libro y sacó una librería. Este operador permite eh se podría decir encadenar funciones.
45:42
Speaker A
Por ejemplo, tú a una base de datos le puedes aplicar muchas transformaciones, ¿no? Por ejemplo, le puedes aplicar una transformación uno y se y se convierte en otra base de datos, ¿no? ¿Por qué? porque ya ha sido transformado ¿no?
46:02
Speaker A
Y a este base de datos también le puedes aplicar otra nueva transformación. Naturalmente ya va a ser otra base de datos ¿no?
46:14
Speaker A
Y así otra transformación y ya va a ser otra base de datos. Y ustedes se preguntarán, "Profesor, ¿y qué son esas transformaciones?
46:26
Speaker A
Puede ser un filtrado el primero, el segundo puede ser un arrange, el tercero puede ser un rename y así, pero si se dan cuenta, todo parten una base de datos original, joven.
46:41
Speaker A
efectivamente tú a tu data que te proporcionan como insumo para tus análisis, vas a vas a hacer todas las transformaciones posibles de tal manera que en un momento ya tengas tu base de datos final, ¿no?
46:57
Speaker A
Esa base de datos final ya es listo para tus análisis, tu modelamiento de datos, tu visualización de datos y todo ello, ¿no?
47:06
Speaker A
Entonces, esas transformaciones, ¿cómo yo los encadeno o los concateno usando R con el operador PIB? Ese operador PIB es que dice, "No, aplícame esta función, aplícame esta función, aplícame esta función y así sucesivamente." Es un operador nada más.
47:28
Speaker A
Es un operador de funciones o de transformaciones, nada más. Así hay que entenderlo, ¿no?
47:38
Speaker A
Antes era así, ¿no? Porcentaje mayor porcentaje. Ahora ya evolucionó, es barra y símbolo mayor. Los dos funcionan, jóvenes, no hay problema.
47:49
Speaker A
Solo que yo me acostumbré pues a este operador clásico, ¿no? Algunos usan este operador, no hay problema.
47:59
Speaker A
En los ejercicios que estamos viendo, si se dan cuenta, ¿qué es lo que hago? A mi data original le aplico una transformación, se llama rename, pero para que esa función se aplique a mi data, hay un operador, operador pip,
48:21
Speaker A
¿no? Y así sucesivamente puedo agregar más operadores a medida que más transformaciones yo use, ¿no?
48:29
Speaker A
Eso es la lógica, joven, maestro. Eso es su utilidad, maestro. Adelante. Puedo deducir entonces que este siempre será el signo de mayor entre signo de por cento debido a que es un objeto y como es un objeto evidentemente yo puedo
48:49
Speaker A
hacer esas transformaciones de lugar, pero en esencia para yo quedarme con la idea en cuestión puedo asumir que siempre será el signo del porcentaje mayor que porcentaje.
49:01
Speaker A
Sí eso entiéndelo como un operador de transformaciones nada más. Okay. Es un transformador porque es un objeto y puedo instanciar, o sea, estoy viendo que lo puedo instanciar y sacar desde la base de datos real, o sea, desde DB todas las informaciones
49:19
Speaker A
que quiero hacer. En este caso, como se muestra en pantalla, puedo eh renombrar o sacar filtro, etcétera, etcétera, etcétera. Es un objeto instancia.
49:30
Speaker A
Exacto exacto. Y como y el único que puede hacer eso para tener la idea, para poder lograr esto, perdón, es el utilizando los eleporador, sino de mayor que entre por Sí, sin eso no va a funcionar las demás
49:47
Speaker A
funciones. Exacto. Eso querían tener claro porque yo tenía una mala idea de que esto funcionaba como un operador de de comparativo, pero entonces me queda más claro que solamente es una es una forma de instanciar el resultado en función de
50:05
Speaker A
lo que yo quiera hacer. Me explico, como aquí se muestra en el ejemplo, si yo quiero renombrar un conjunto de variables, pues entonces el operador que yo tengo que utilizar entre entre símbolo de porcentaje es el mayor que
50:19
Speaker A
entonces va a ser le va a decir a R, "Óyeme, lo que tú estás haciendo es una transformación a partir de aquí." ¿Es lo correcto?
50:27
Speaker A
Sí efectivamente ¿no? Ya, listo. Ahora lo acabo de entender perfectamente. Gracias. Muy bien. Otra cosa, este operador solo funciona en el tallers, jóvenes, ya en otros no funciona.
50:39
Speaker A
Eso también hay que tener en cuenta. Solo funciona si vas a usar la librería Tiders o Player, ¿no?, que es que es la más especializada.
50:49
Speaker A
Entonces, en otras, si quieren hacer en otras otros análisis, pero donde no se usa esas librerías, no funciona, no existe este operador.
50:59
Speaker A
Por eso ese operador PIP, jóvenes, solo tienen que usar en esta librería o en su defecto en el Tidiverse, que es el que agrupa también a esta librería, ¿no?
51:14
Speaker A
En otras librerías este operador no existe. Pequeño detalle, eso hay que tener en cuenta.
51:22
Speaker A
Muy bien. A ver, regresemos a nuestra rename. Ya ejecutamos el rename, previsualizamos los cuatro primeros registros y miren, longitud de cépalo, ancho de cépalo, especies. No, estos siguen igual porque yo no lo he tocado, ¿no? Así que la idea es que se entienda, jóvenes.
51:48
Speaker A
Pero puedo cambiar a todas las variables, ¿no? No hay problema. Muy bien. Excelente jóvenes.
51:59
Speaker A
A ver, ¿qué otras funciones existen dentro del rename, jóvenes? Algunos me preguntan, "No, profesor, ¿y cómo puedo pasar todas mis variables a mayúscula o cómo puede pasar todas las variables a minúscula?
52:20
Speaker A
También existe una función llamado to lower para minúscula y el famoso tuper para mayúsculas, ¿no?
52:29
Speaker A
Eh, pasar a mayúsculo, a minúsculo, ya depende de los gustos, ¿no? Quizás algunos les gusta trabajar más en mayúscula para ser más uniforme, otros en minúscula, no hay problema.
52:44
Speaker A
Por ejemplo, los ingenieros de sistema, los informáticos, les gusta trabajar en mayúscula todas las variables, ¿no? Ya es un estándar para ello.
52:54
Speaker A
Para hacer ese proceso, ¿qué se necesita? tu objeto, la función names y tu data original, no es lo mismo, ¿no? Estás creando un nuevo objeto, solamente que ahora estás haciendo uso de los nombres, ¿no?
53:14
Speaker A
Así que, es decir, créame un nuevo objeto donde los nombres sean todos con mayúscula ¿no?
53:23
Speaker A
Ahí está el operador y todas tus variables van a estar en en mayorcula, ¿no? Entonces, la función que hace esa transformación, claro, el operador pip siempre va a estar, pero es esta función que hace la operación ¿no?
53:42
Speaker A
Para el caso de pasar a minúsculas, la función es esta, ¿no? Y obviamente te va a dar todo esto acá en minúscula, ¿no?
53:56
Speaker A
Práctico jóvenes sencillo. Entonces va a depender cómo le gusta trabajar ¿no? Muy bien. Vamos a ver cómo se hace esto en el R, pero se dan cuenta que es sencillo.
54:14
Speaker A
Muy bien. Acá está. Eh, voy a crear un objeto llamado BD Rename. Jes. Voy a voy a limpiar todo esto. Ya voy a limpiar, pero voy a cargar este objeto. BDI es la data que yo estoy usando ¿no?
54:38
Speaker A
Entonces, voy a crear un nuevo objeto llamado BD Rename, que no va a ser más que igual a la base de datos. Ahí está, ¿no? Miren, he hecho una copia, un backup, como se dice.
54:49
Speaker A
Esta es mi copia, ¿no? Entonces, me pregunta, profesor, a esta data puedo pasar todas sus variables a mayúscula.
55:03
Speaker A
se podrá de golpe, ¿no? Uno por uno, ¿no? Claro, si aplicas rename rename cinco veces sí se puede hacer, ¿no? Imagina, pero si tu data tiene 100 variables, no va a estar haciendo 100 veces, no, no tiene sentido.
55:17
Speaker A
Entonces existen funciones efectivamente dentro del le playler que te permite pues pasar todas estas variables a mayúscula ¿no?
55:27
Speaker A
¿Cómo se hace ese proceso? Simplemente de la siguiente manera. los las los nombres de las variables de este objeto va a ser igual al nombre de la data original, aunque acá también se puede aplicar a lo mismo, no hay problema. Miren,
55:48
Speaker A
claro, acá estoy llamando a la data anterior, pero fácilmente también puedo llamar a la misma data, ¿no?
55:54
Speaker A
No hay problema. y aplícame la función tuper. Lo que va a hacer es pasar todo a mayúscula, ¿no?
56:02
Speaker A
Miren. Ah, sombreamos y ejecutamos. Nos vamos a nuestro objeto y todas están en mayúscula, ¿no?
56:14
Speaker A
Se dan cuenta? A ver, hay una pregunta. Ah, muy bien. Eh, voy una pregunta de su compañero eh compañero Harlis Rivas, ¿por qué le pone BD igual a Iris y no solamente usa Iris?
56:36
Speaker A
Porque este objeto Iris está dentro del R, pero lo tienes que declarar en un objeto para que tú lo uses. Si no, no va a aparecer acá.
56:50
Speaker A
Si no aparece acá, yo no puedo hacer ningún cálculo, ninguna operación. ¿Se dan cuenta? Entonces, lo tengo que declarar en este objeto para que me aparezca acá. O sea, que gracias a esto ya me aparece en mi ambiente de trabajo,
57:06
Speaker A
¿no? Y esto de acá ya lo puedo manipular ¿no? Se dan cuenta si es necesario almacenarlo.
57:17
Speaker A
Eso por ese pequeño detalle. Ya. Muy bien. ¿Se han dado cuenta? No, ahora todas mis variables están en mayúscula ¿no?
57:31
Speaker A
Profesor, esto hay que cambiarlo por esto, ya no es necesario. Ahora, todas estas variables yo lo puedo pasar a minúscula. Okay, Harlis, todos están en mayúscula, pero quizás no me gusta. Quiero todo pasar a minúscula.
57:48
Speaker A
¿Cómo hago eso? lo mismo, ¿no? Names y le aplico al objeto la función to lower ¿no?
58:03
Speaker A
Y miren, jóvenes, todos están en minúscula, ¿no? Eso para eso funciona, jóvenes, esa función to peor y el to lower, ¿no?
58:20
Speaker A
Como yo les he comentado, no siempre se va a usar todo lo que estamos viendo, ¿no? Todo va a depender pues de las necesidades de cada uno, ¿no? A la hora de hacer sus sus análisis.
58:33
Speaker A
Muy bien, jóvenes. Eso es, para eso sirve estas funciones chiquitas, pero muy potente, jóvenes.
58:45
Speaker A
Excelente. Ahora vamos a ver otra función y yo diría que es también uno de los más importantes.
58:53
Speaker A
Select. Esta función select, jóvenes, sirve para seleccionar variables. Quizás tu base de datos tiene muchas variables y tú no vas a analizar todas, ¿no? Entonces, mejor solamente selecciono las variables que me interesan y con eso hago los análisis,
59:15
Speaker A
¿no? Se dan cuenta crear mi nuevo objeto BD Select a partir de mi data original.
59:25
Speaker A
Le voy a aplicar la función select y solo voy a seleccionar dos variables y al final me va a dar una data solo con las dos variables. Jóvenes.
59:40
Speaker A
Profesor, ¿y puedo seleccionar solamente una variable? Sí. Dos, tres, lo que tú desees. Estilo estilo SQL, maestro.
59:52
Speaker A
similar que SQL, ¿no? Okay. Sí, vamos a ver group by también que es claro. Por ejemplo, order existe en group by, ¿no? Acá nosotros usamos arrange, ¿no? Que es diferente, pero la lógica es la misma, muy parecido a SQL,
60:08
Speaker A
¿correcto? Acá es el select, ¿no? Sencillo, ¿no? A, vayamos a ver al R cómo funciona esto en el R.
60:24
Speaker A
Muy bien, acá está. Voy a crear un objeto llamado BD Select a partir de la data original y le voy a decir, "Oye, seleccióname solamente estas dos variables, longitud de cépalo y el ancho del cépalo, ¿no?
60:40
Speaker A
Simplemente ejecuto, ya está, BD select y solamente tendría las dos variables, ¿no? ¿Se dan cuenta?
60:55
Speaker A
Así de simple, joven. Nada complicado, por cierto. Super intuitivo. Eso es, jóvenes. Pero la pregunta del millón, profesor, ¿y qué pasa si no quiero seleccionar las las dos variables si no solamente quiero quitar especies y quedarme solo con las variables
61:18
Speaker A
numéricas para no estar digitando select de estas cuatro variables, ¿cómo hago por complemento? Como se dicen, ¿no?
61:29
Speaker A
Se puede hacer eso? Sí se puede, jóvenes. Miren, quiero quedarme con todas menos con la variable especies.
61:40
Speaker A
Se le pone el signo menos, joven. Lo bueno que el R te te ayuda. Mira, entonces esto quiere decir selecciame todo menos especies, que es lo mismo decir selecciame solo las variables numéricas, ¿no?
62:05
Speaker A
Y miren, jóvenes, pequeños artificios, ¿no? Ya no está la variable especies, ¿no? ¿Cuántas yo puedo eliminar de esa forma?
62:16
Speaker A
¿Cuántas variables? las las que tú quieras, miren. Pero cuando ya tienes más de dos, ya tienes que hacer otro pequeño artificio, ya no poner así, sino como una especie de vector.
62:32
Speaker A
Es decir, así, ¿no? Así. Y lo otro, ¿no? Calen y así. Si tienes dos, no le puedes poner menos especies, coma cale, no tiene sentido.
62:48
Speaker A
Entonces ahí ya entra como un vector. Oye seleccióname todo menos estas dos variables, ¿no?
62:58
Speaker A
Acá le voy a poner select para que no nos confundamos. Entonces, hombreo y ejecuto. Acá está, ¿no? Ahí está. No, no está ni especie ni el cépalen, solamente tres variables.
63:11
Speaker A
Muy buena esa sentencia cuando hay cuando hay base de datos grandes. Exacto. Son cosas que al final son necesarias ¿no?
63:19
Speaker A
Sí sí sí sí, sí. Son son, se dan cuenta es super intuitivo, ¿no? No tenemos que aplicar cosas complejas, nada, no es superintuitivo.
63:29
Speaker A
Muy bien. Eso es el famoso select, jóvenes. Eso es el famoso select, ¿no? Si se entiende qué es lo que hace, suficiente con eso, muchachos. Ya en el proceso vamos a aprender ciertas casuísticas, pero la idea es que se entienda lo que
63:48
Speaker A
es lo que hace, ¿no? E por acá había explicado todo ese proceso. Muy bien.
63:59
Speaker A
Ahora vayamos a ver otro. A ver, hay una pregunta en el chat. ¿Cómo puedo hacer para unificar las dos bases anteriores?
64:12
Speaker A
Bueno Alejandro siempre hay que guardar nuestra data original, ¿no? La ataipulada es una ata como quien dice, ¿no? Bajo ciertos criterios que tú has aplicado, ¿no?
64:28
Speaker A
Entonces puedes juntar, pero como ya tienes tu data original, no tiene sentido juntarlos, ¿no?
64:35
Speaker A
Otra cosa es que tengas dos datas diferentes de fuentes diferentes y que quieres cruzar, ¿no? Ese es el famoso joint inner joint. Eso sí lo vamos a ver también a continuación, no se preocupe.
64:49
Speaker A
Muy bien, select ya vimos, ¿no? Ahora una función interesante, el famoso mutate o mutate, como lo quieras llamar. Ya, esta función, jóvenes, permite crear variables.
65:06
Speaker A
¿Quién no quisiera crear variables? Jóvenes, puedes crear variables a partir de las mismas variables que ya existen o otras variables externas también, ¿no?
65:22
Speaker A
Entonces, esta función, jóvenes, sirve para crear nuevas variables. Nosotros, los que estamos en el mundo de los datos, le decimos variables, ¿no? Los informáticos le dicen columnas, ¿no?
65:37
Speaker A
Muy bien. ¿Cómo se opta por este proceso? Creo un objeto BD mutate igual a la data original y a la data original le aplico la función mutate.
65:53
Speaker A
Voy a crear una nueva variable. Siempre va el nombre de la nueva variable que vas a crear y el valor que va a asumir esa nueva variable. Ejecuto y a mi conjunto de datos que ya tenía se le agrega una nueva variable más.
66:13
Speaker A
¿Se dan cuenta? He creado una nueva variable. Sencillo mutate, no crear variables. Muy bien. ¿Cómo se ve esto, profesor, en el R? Vamos a ver.
66:36
Speaker A
Ya, esto es no BD mutate. La variable que estoy creando es bar porque yo le llamé ese nombre y que va a ser igual a plantas.
66:49
Speaker A
Ejecuto y miren dónde está, jóvenes. Acá está, ¿no? Es decir, este código ha originado esta data.
67:04
Speaker A
Profe, a ver, ¿dónde está esa variable que he creado? Acá está. ¿Por qué todos tienen el mismo valor?
67:13
Speaker A
Porque yo dije que creé una variable con ese valor, ¿no? Plantas. Para eso sirve mutate. Adelante.
67:22
Speaker A
Una pregunta. Allí se pudieran hacer operaciones de variables dividir multiplicar variables. Claro que sí.
67:30
Speaker A
Okay. Okay. Todo, todo lo que ustedes sean. Okay. Pero hay que tener cuidado. Ah, okay.
67:36
Speaker A
Sí. Muy bien. Este es un ejemplito chiquito para que se entienda el cómo funciona el mutei, ¿no? Si se entendió eso, ya se puede hacer mucho más cosas.
67:46
Speaker A
Por ejemplo, profesor, ¿cómo puedo crear tres variables simultáneamente? Variable uno, plantas. Variable dos, flores, variable tres, rosas.
67:56
Speaker A
Miren, lo voy a lo voy a chancar sobre el mismo objeto, ¿ya? Simplemente para yo quiero que ustedes entiendan cómo funciona.
68:05
Speaker A
Miren, acá están las tres variables que he creado, ¿no? Hasta ahí. interesante el boot no puede crear variables. Muy bien, ya les he comentado, jóvenes, que ustedes pueden hacer así o también pueden hacer así. Miren. Ah, esto ponerlo tres veces, ¿no?
68:36
Speaker A
A ver, algo así, ¿no? Voy a para que no tengan ninguna inquietud en esta parte.
68:49
Speaker A
La primera va a ir todo acá. Ya, esto de acá es igual que esto. Son equivalentes jóvenes.
69:06
Speaker A
Son equivalentes, ¿no? Por ejemplo, ¿cómo se borra un objeto que se ha creado acá?
69:14
Speaker A
RM, ¿no? RM. Oy, acá RM, no, RMBD mute, si quieren borrar objetos, solamente uno, no, no, no, todos los objetos, ya no está, ¿ves?
69:29
Speaker A
Si quieren borrar todo la escobita, no, no hay problema. Miren, voy a correr nuevamente y aparece pues BD Mutay, ¿no? Ahí está, ahí está.
69:43
Speaker A
Igual puedo crear variables numéricas de valor, ¿verdad? Claro que sí, todo, absolutamente todo. Y si son variables, bueno, todo tipo de variables, pero por ejemplo, si las variables tienen diferentes valores, porque ahí veo que le asigna el mismo
69:55
Speaker A
valor a todos los registros. Ah, muy bien, correcto. Ahora vamos a crear otras variables más especiales, no se preocupen.
70:03
Speaker A
Muy bien. Entonces, esto acá es equivalente a esto. Los dos se pueden usar, jóvenes. No, claro, esto es más práctico, ¿no? Esto en cambio quieres hacer un poco más más códigos más largos, ¿no? Pero si fueran variables diferentes, sí sería
70:20
Speaker A
interesante saber qué es lo que has creado, ¿no? O sea, que se entiende fácilmente. La lectura es más fácil, ¿no?
70:27
Speaker A
Muy bien. Su compañero dice, "Profesor, ¿puedo crear variables numéricas?" Sí, por ejemplo, muy aparte de estas, voy a crear una variable ancho de cépalo, que va a ser, no es más que la variable original multiplicado por cco. Para que
70:42
Speaker A
veas que puedo crear variables a partir de las que ya existen también. Ahí está, ¿no?
70:53
Speaker A
Esta variable se ha creado a partir de de esta variable. a esta variable por cinco se le ha multiplicado ¿no?
71:02
Speaker A
Y se obtuvo este valor, ¿no? Muy aparte de estas variables que son fijas ¿no?
71:13
Speaker A
Se puede hacer, no pueden crear ratios, variables condicionales y alguien me va a preguntar, "Profesor, ¿puedo crear una variable?
71:27
Speaker A
con condiciones. Sí, también, pero para eso ya necesitamos otra función. No sé si lo vamos a ver acá. A ver, creo que no. A ver, a ver, creo que está acá. Vamos a ver.
71:46
Speaker A
Un momento, un momento. A ver. Sí, en el otro laboratorio está. No se preocupen.
71:54
Speaker A
Es decir, un mutate con condiciones. Si es menor a CCO, entonces el caso contrario, otro valor.
72:03
Speaker A
Eso no es una crear variables con condiciones. Muy bien, de eso lo vemos en el laboratorio principal que es el tres.
72:14
Speaker A
A ver, Samarí, jóvenes, Samarí sirve para crear resúmenes, para hacer un colapse, un agregate. Jóvenes, su objetivo del Samarí es resumir. Jóes, por ejemplo, ustedes han escuchado la media, la varianza, el valor máximo, el valor mínimo y todo ello, ¿no? Son
72:35
Speaker A
estadísticas descriptivas, ¿no? Samarí en si funciona en conjunto con el group, ¿no? Pero si aplicas Samarí solo sin usar group by, lo que te hace son resúmenes nacionales totales, ¿no?
72:54
Speaker A
Por ejemplo, voy a usar Samarí, voy a crear la variable media y uso la función min de la variable longitud del cépalo. Es decir, me va a calcular un promedio.
73:07
Speaker A
Si uso la función bar, la variancia. Si uso la función max, el valor máximo. Si uso la función min, el valor mínimo de la variable longitud del cépalo, ¿no?
73:21
Speaker A
Y al final hago un print del objeto que he creado y acá tengo mi tablita resumen, ¿no? Con mis estadísticas nacionales o totales, ¿no?
73:32
Speaker A
Eso hace el Samarís. Te resumen, pero hace un resumen. Si es que no le agregas un group by, hace un resumen nacional, un resumen total. Ya, eso es claro, creo que primero era para ver el group, pero no hay problema.
73:53
Speaker A
Por ejemplo, voy a crear un objeto BD summary, igual a base datos. Le voy a aplicar la función sumariz y le voy a decir, "Oye, quiero que el promedio que esté en el objeto, la variable promedio que yo voy a crear. varianza,
74:13
Speaker A
que calcule la varianza. Máximo, el valor máximo, mínimo, el valor mínimo, ¿no? Las funciones que se han usado para este fin es min, media, bar, varianza, max, función del valor máximo, min, para encontrar el valor mínimo, ¿no?
74:36
Speaker A
Y lo único que tengo que hacer es ejecutar. Y efectivamente acá está mi objeto BD Samar ¿no?
74:46
Speaker A
Se dan cuenta, profesor, ¿qué es ese objeto? Si yo le doy clic, es mi resumen que me ha permitido crear, ¿no? Mira esta tablita de resumen, jóvenes.
75:00
Speaker A
¿Se dan cuenta? Interesante, ¿no? Muy bien, profesor. Usted me dijo que se pueden combinar perfectamente el samaris con el group.
75:14
Speaker A
Es es mejor, mejor dicho, es la mejor combinación. Group by de jóvenes te permite hacer agrupaciones, ¿no? Por sí sola no tiene sentido. Si tú aplicas group by así por así no va a tener efecto.
75:35
Speaker A
Pero si tú lo combinas con el Samarí, el resultado es potente jóvenes. Por ejemplo, si le digo, si lo he hecho, lo que he hecho en antes, le agrego un group buy antes, por ejemplo, BD group, data original, group by, es decir,
75:57
Speaker A
agrúpame los análisis que vas a realizar por especies. Luego calcúlame los resúmenes, es decir, el promedio m1 y m2.
76:09
Speaker A
Y efectivamente estos promedios te lo ya no te va a calcular de manera nacional, sino por especie, jóvenes. Algo así, ¿no?
76:21
Speaker A
Acá están los promedios por especie, ¿no? Se dan cuenta. Entonces se hace muy potente el análisis solo por haber agregado el el group, ¿no?
76:38
Speaker A
Se dan cuenta ojo, primero va el group, luego va el Samarí. al revés no funciona.
76:48
Speaker A
Primero se agrupa, queda la agrupación en la lógica del objeto BD group y a esa agrupación se hace resumen, ¿no? Un aggregate, mejor dicho, un colapse.
77:00
Speaker A
Sí, pero si pone el Samaris antes del group by, simplemente va a ser un samaris de la base de datos completa.
77:05
Speaker A
Excelente. Totalmente de acuerdo. Ex. De hecho, podría servir si tú quieres hacer comparaciones Ex de cada grupo respecto al total. Podría ser.
77:15
Speaker A
Exacto. Es es otra cosa también. Muy bien, vayamos a ver cómo se hace esto en el R.
77:25
Speaker A
a lo que hemos hecho acá, que ha sido un resumen nacional, lo único que voy a hacer es agregarle, miren, antes del Samarí un group, operador PIP, group, operador Prip, Samarí, sombreo y ejecuto.
77:47
Speaker A
Y por acá está, ¿no? BD Select Samar 2. Miren jóvenes, interesante ¿no? Me ha calculado el promeo, la varianza, el valor máximo, el valor mínimo para cada especie y en el anterior solamente me había calculado el el total, pero gracias al
78:14
Speaker A
group el análisis ha hecho mucho más interesante ¿no? Eso es en general, jóvenes, lo que no nos lo que nos permite el displayer, jóvenes, manipular datos, ¿no?
78:34
Speaker A
Muy bien, eso es, jóvenes. Ustedes se preguntarán, ¿no hemos visto exportar datos? ¿No se dan cuenta? En la anterior sesión vimos exportación de datos, ¿no? Ayer, mejor dicho.
78:52
Speaker A
Ah, Frey, adelante. ¿Cuál es su consulta, profesor? Eh, podría hacer un resumen por de cada campo debajo de cada de cada uno.
79:02
Speaker A
Ah, de estos, eh, sí, tenemos eh varios campos, ¿no? Ya. Base de datos y debajo que me realice un resumen de cada campo, ¿no?
79:16
Speaker A
A ver, a ver. No, no te entendí. ¿Quiere que explique línea a línea los códigos o en la base de datos, en la base de datos tenemos L, Cepal White, ya? Petal y petal white.
79:34
Speaker A
Okay. Debajo de debajo de este de todo esta de todos estos datos que me genere un resumen o o puede ser otra base de datos, pero que me genere un resumen de cada campo, ¿no?
79:52
Speaker A
No sé si me doy cuenta. Por ejemplo, de CPAL Len, su resumen, de CPAL Wes, un resumen de cada campo, un resumen debajo de cada este, no sé si como base de datos o puede generar un resumen, la
80:07
Speaker A
desación estándar, la varianza, todos los datos estadísticos que le soliciten por variable. Entonces, claro, por variar, claro, claro, se puede hacer eso, ¿no?
80:21
Speaker A
Solo que hay una función que hace eso, ¿no? Por ejemplo, no sé si se acuerdan que es el summary.
80:30
Speaker A
El sumary hace eso justo lo que su compañero pide, ¿no? Simplemente le das la data BD y ahí está, ¿no?
80:41
Speaker A
Acá está su sus promedios de cada variable, ¿no? Se puede hacer con esto también, solo que va a ser un poco ahí.
80:55
Speaker A
Eso es lo que más o menos era tu idea, Fre, ¿o? Sí, sí, ese eso es lo que de cada Claro, se puede hacer algo similar con esto, solo que vamos a tener que agregar varias cosas, ¿no? Pero sí se puede,
81:07
Speaker A
pero ya hay una función que hace eso. Entonces, mejor usemos lo que ya existe, ¿no? Por ejemplo, acá te calcula el valor mínimo, el cuartil uno, la mediana, la media, el cuartil tres y el valor máximo, ¿no?
81:21
Speaker A
Para cada una de las variables, ¿no? Bueno, especie es una var categórica, no tiene estadísticas descriptivas, ¿no?
81:30
Speaker A
Solo tabla frecuencia, hay 50 especies de cada uno, ¿no? Muy bien. Por ejemplo, hay otra librería para ustedes se preguntarán, "Profesor, ¿ya yo puedo hacer mi resumen super elegante? ¿Lo puede exportar esto en un Excel?" Sí, ¿no? Justamente ayer vimos,
81:48
Speaker A
¿no? Exportación de datos. Les voy a enseñar una librería adicional llamado Río. Río sirve para exportar un objeto en Excel.
82:01
Speaker A
Acá dice no soporta. Voy a voy a instalar esta librería. Ya. Oy, ¿qué hice? Ay, ay, ay. Parece que tengo problemas con esta librería.
82:15
Speaker A
Listo. Este objeto que he creado acá, la función se llama export. Expórtame este objeto con este mismo nombre, pero en extensión XLSX, que es Excel, ¿no? Sombreo y ejecuto y listo.
82:36
Speaker A
¿Dónde se irá? a mi directorio de trabajo, ¿no? Miren, jóvenes, como sí, igualito como el hay otra función que vimos ayer, ¿no? Otra librería, pero esta río también sirve para eso.
82:54
Speaker A
Entonces, otra herramienta más para su colección. Ya en el Excel ustedes le dan pues sus colorcitos. Más fácil esto.
83:03
Speaker A
Claro, esto más fácil, más rápido. Efectivamente, ¿no? Es decir, todos los resúmenes que tú puedes construir, lo exportas y ya pues le das un toque más interesante para tus para tus reportes.
83:17
Speaker A
Eso, jóvenes. Entonces, siempre vamos a estar aprendiendo cositas adicionales en el proceso, ¿no? Río, una librería más para su colección.
83:27
Speaker A
Aló profe. Muy bien. Aló. Aló. Aló. Adelante, profe. Una pregunta. ¿Tú tienes en la presentación e min 1 min2?
83:43
Speaker A
A ver, no le no le escuché muy bien. ¿Podría repetir por favor? En la presentación tienes min12 en sumar. Ah, ya.
83:57
Speaker A
Sí, sí, tiene razón. Acá solamente he creado los promedios de dos variables, ¿no? Sií, es verdad, pero en el ejercicio ya hemos creado más cosas, miren, no solamente un promedio, sino hemos creado varias cosas, ¿no? Variancia y máximo. Sí, en el PPT solamente calculé
84:15
Speaker A
dos promedios, pero igual es la idea es que se entienda el el grouparí, ¿no?
84:24
Speaker A
Por ejemplo, esto si ustedes lo copian, miren, lo copian y lo mandan al R por acá, por ejemplo, ya.
84:39
Speaker A
Y acá le voy a poner tres. Ya. Acá está, ¿no? Miren, este código ejecutado te permite obtener esto ¿no?
84:53
Speaker A
Cuando revisamos ese objeto, ahí están los dos promedios, ¿no? Claro, yo le puse m1 y m2, ¿no? Pero acá debe ser pues no sé, promedio de las variables cepas leen y así, ¿no? Para que se entienda que es m1 y m2.
85:13
Speaker A
Solo eso, no se preocupen. [Música] A ver, común plus. Después de esto sigue eh sumares if, ¿no? A ver, vamos a ver.
85:31
Speaker A
El summaris es interesante, ¿no? Group by con summares superpotente. Pero si quiero combinar group by con un summares if, que es una variante del summaris, ¿qué pasaría si es que mi data tiene variables numéricas y categóricas?
85:49
Speaker A
Si yo le digo, "Calcúlame la media de mi data," no va a poder calcular porque va a identificar variables categóricas.
85:58
Speaker A
y una variable categórica no tiene media. Entonces le voy a decir solo las numéricas calcúlame su medio. Y eso funciona solamente con sumar if.
86:14
Speaker A
Como quien dice, es un summares con condiciones. Entonces ya no tengo que darle ninguna variable, ¿no? Simplemente busca las numéricas.
86:23
Speaker A
¿Qué significa? ¿Qué es lo que significa el fs? P es la función, es decir, a mis variables numéricas de mi data aplícame la función min.
86:36
Speaker A
Okay. Si es numérica, aplica min. Sí, identifica que es numérica y automáticamente tiene un promedio. Si es que no existiera el summares if, una data generalmente va a tener numéricas y categóricas. Si tú aplicas min, no va a poder calcular porque va a
86:55
Speaker A
identificar valores, variables categóricas. Entonces con este summary shift te evitas ese problema, ¿no? Summar y le dices que solamente te considera las numéricas y le aplicas la función miniables numéricas, ¿no? Y ahí está, miren los promedios de cada
87:13
Speaker A
variable numérica, ¿no? Son extras, como se dice, ¿no? Muy bien. A ver, vamos a ver esto en el R algo rápido ya para ver los joints, que eso sí les va a interesar bastante.
87:29
Speaker A
Muy bien. Group by especies sumares if. Y acá simplemente le digo, "Oye, solo las numéricas y a ellas aplícame el la función min, ¿no? La función min calcula calcula promedios, ¿no? Ahí está, ¿no?
87:49
Speaker A
Justo lo que su compañero preguntaba, ¿no? ¿Cómo calculo los medidas resumen por variable? Ahí está, por ejemplo, rápido ¿no?
88:00
Speaker A
Profesor, ¿usted calculó el promedio, puede calcular otra función? Sí. Por ejemplo, la división estándar.
88:08
Speaker A
La división estándar no es más que la raíz cuadrada de la varianza, ¿no? Entonces, ¿qué cambia? Solamente el nombre de la función.
88:19
Speaker A
Así de simple, jóvenes. Puedo ahí puedo ahí en el nombre de la función colocar un vector con varias variables que quiero calcular cosas distintas como media, varianza, división estándar, ¿no? Lo que tendrías que hacer es otro sumari sumarí,
88:34
Speaker A
otro resumen, porque imagínate crear varias funciones sobre la misma, ¿cómo se presentaría acá? sería un poco una mezcla un poco complicada, ¿no?
88:45
Speaker A
Entonces, la idea es que sea separado o si no algo así, ¿no? Como el summary, ¿no? Miren, en el summary sí hace varias cosas, ¿no?
88:56
Speaker A
Pero acá lo que ha hecho pues es primero calcular el min, el más y luego lo presentó en una sola tablita, ¿no?
89:04
Speaker A
Eso sí se puede hacer. Okay, claro. Muy bien. Entonces, si ustedes crean su propia función, por ejemplo, que hace, no sé, identifica los números primos, algo así, ¿no?
89:18
Speaker A
Pueden introducir el nombre de esa función acá, pero para eso tienen que construir ¿no?
89:26
Speaker A
Ya que estamos en esta parte, a ver si vemos un poquito de cómo se construye funciones también. Ya.
89:33
Speaker A
Muy bien. O sea, maestro, disculpa. una función, una función definida por el usuario, qué sé yo, digamos, digamos que yo quiero encontrar la diferencia entre grupos en un análisis de varianza usando Cruali, por ejemplo, que que es algo que hay que
89:53
Speaker A
hacerlo con R porque los software, los otros software son hago mi función que hace eso, yo puedo meter ahí el nombre y me hace eso.
90:01
Speaker A
Exacto. Eso es una función automatiza un proceso. Se puede hacer eso. Es más, todo lo que hemos usado, Grubarí son funciones, pero que ya sido creados. Hay cosas que queremos hacer y no están automatizadas.
90:19
Speaker A
¿Qué es lo que tenemos que hacer? Crear nuestra función que haga eso que nosotros queremos. Y ahí nos vamos a ayudar con la jóvenes. Si tú quieres hacer algo, ya tienes una idea, lo plasmas a la y te lo hacen tu función.
90:39
Speaker A
Eso es una de las potencialidades. Mejor aún si ya tienes un avance, te lo mejora, te lo optimiza, en otras palabras. Pero eso lo vamos a ver a poco, no se preocupen.
90:53
Speaker A
Ahora continuemos con nuestra teoría, muchachos. Hablemos de un tema muy importante, los famosos cruces de información, cruces de datos, cruces de tabla, jóvenes, los famosos joins.
91:13
Speaker A
Sus compañeros me decían, "Profesor, ¿cómo puedo cruzar tabla si tengo dos datas diferentes? Se puede solo es que tienes una variable llave, un identificador, ¿no?
91:28
Speaker A
Si no no se puede cruzar. ¿Cuántos tipos de join o de cruces existen profesor?
91:35
Speaker A
Todos estos seis cruces. ¿Cuáles son los más usados? Dos. El left join y el inner joint.
91:47
Speaker A
Los demás no los uso particularmente porque no he encontrado la necesidad. Rara vez un full joy, ¿no? Una unión, ¿no? Rara vez, porque si usas estos tres, los demás es por complemento, ¿no? Claro, si uso un left joint, right joint, no tiene
92:09
Speaker A
sentido ¿no? ¿Qué hace el left join? Esta es mi data uno, esto es mi data dos.
92:21
Speaker A
A mi data uno le voy a agregar las variables que pertenecen a la data dos, solo las nuevas variables, ¿no?
92:31
Speaker A
El inner join, ¿qué es lo que hace? Solo me quedo con los casos comunes, con la intersección, jóvenes.
92:40
Speaker A
Teoría de conjuntos, ¿no? Eso iba a decir. Teoría de conjuntos. Claro, es es exactamente teoría de conjunto, diagrama de Ben, ¿no? Es famoso diagrama de Ben.
92:50
Speaker A
Muy bien. Eso es. Entonces, con esos dos podemos hacer todos los cruces que deseamos.
93:01
Speaker A
Los informáticos manejan pues todas estas estos cruces, ¿no? Pero nosotros con estos dos y rara vez el full join que es una unión se puede se puede usar, ¿no?
93:16
Speaker A
El left join también es uno de los más usados porque imagínate que tú tienes tu data final de análisis ya que lo has procesado y todo, ¿no?
93:27
Speaker A
Ahí está tu data final. y por ahí encuentras una fuente adicional de datos. Entonces, lo único que tú podrías hacer que de esta fuente agregues nuevas variables ¿no?
93:43
Speaker A
Puedes agregar nuevas variables, ¿no? Pero este agregado o este cruce de tablas solo se podrá hacer si es que ambos tienen un identificador en común.
93:59
Speaker A
para hacer el match, ¿no? El famoso merch como se le conoce. Si no, no se va a poder hacer y así quizás aparezca otra base de datos por acá.
94:12
Speaker A
Entonces también quizás te puede interesar agregar nuevas variables de esta ¿no? Este proceso que he explicado es un un left joint, ¿no? De lo que tengo jalar hacia él. Left joy y el rayon sería al revés, ¿no? De acá
94:35
Speaker A
darle a los demás. Por eso no lo veo tan útil. Jóvenes. Muy bien. Esos son las famosas mezclas, jóvenes, o los cruces o los famosos joints ¿no?
94:54
Speaker A
A ver, ¿qué más tenemos por acá? Ahí está, ¿no? Left Join. ¿Qué más tenemos? Tenemos el left join, como les comenté.
95:09
Speaker A
¿Qué insumos necesita el Fel? Dos datas, ¿no? Dos bases de datos, pero ambas bases de datos deben tener tu llave ¿no?
95:25
Speaker A
Y el inner. Lógicamente la misma cantidad de registro resumo no necesariamente acá no necesariamente.
95:34
Speaker A
Lo ideal sería eso, ¿no? Porque si no tiene la misma cantidad de registros genera valores faltantes, ¿no?
95:41
Speaker A
Ah bueno claro. Entonces, claro, no va no va a calzar, como se dice. Entonces, va a pegar donde corresponda exista el código y sobre todo, ¿no?
95:51
Speaker A
Ya. Sí, eso es. Se hace el análisis con una cantidad faltante. Ajá. Exacto. Eso es, ¿no? Claro, si estuvieran la misma dimensión y todos completos, hace el pegado perfectamente, ¿no? Pero si es que hay un par de IDs que no tienen
96:08
Speaker A
valor, entonces va a pasar al otro, pero va a generar valor faltante, ¿no? Eso y ahí se puede optar por otro proceso, ¿no? Imputación de datos, eliminación de valores faltantes, ya es otra cosa eso, ¿no?
96:22
Speaker A
Vamos a ver eso aquí. imputación eh no está en el sílabus, pero yo les prometo que vamos a ver un par de ejemplos de imputación de datos, no se preocupen, ¿eh? Porque siempre es necesario ver ese punto.
96:33
Speaker A
Claro. Sí, sí, no se preocupen. A ver, hay una pregunta. A ver, su compañero Aldo Rojas pregunta lo siguiente.
96:50
Speaker A
Esto también sirve para trabajar dos scripts, ejemplo, un script con datos numéricos y otro solo con textos.
96:58
Speaker A
Si existe la manera de hacer el cruce Aldo se puede hacer, ¿no? Si existe, ¿no?
97:06
Speaker A
O sea, que si hay alguna manera de poder hacer el cruce, ¿no? No siempre todos los datos o conjunto de datos se van a poder cruzar, jores. No siempre.
97:17
Speaker A
Por ejemplo, a ver, eh, no sé, por ejemplo, en las empresas sucede esto, ¿no? Tengo una data de trabajadores, la planilla de trabajadores y una y otra data, por ejemplo, del seguro social, por ejemplo.
97:33
Speaker A
Ahí sí se puede hacer un cruce, ¿no? Porque efectivamente están ahí, ¿no? Entonces, hay que ver si hay un especie de vínculo entre esos dos conjuntos de datos ¿no?
97:49
Speaker A
Muy bien, maestro. ¿Cómo se identifica esa llave o vínculo entre entre las dos las dos datas?
97:56
Speaker A
Muy bien. Eh, a ver, eh, ¿ustedes conocen el registro? Bueno, acá se llama el famoso RENIEC en Perú, Lima, Perú. es el registro de todos los ciudadanos, pues, y tenemos nuestro número de documento de identificación, ¿no?
98:13
Speaker A
Eso es nuestro identificador, nuestro ID, como se dice. Entonces, yo debería buscar otra data, otro conjunto de datos que también tenga un identificador similar, ¿no? El seguro social, por ejemplo, el seguro social está todos los personas afiliadas, ¿no? Y toda persona tiene su
98:34
Speaker A
número de identificación, ¿no? Entonces, ya tengo dos insumos que tiene el identificador de la persona y eso puede usar para hacer el join, ¿no?
98:48
Speaker A
Eso es, hay que hay que encontrar eso, ¿no? Las empresas también tienen un registro único, ¿no? está conformado por creo que 8, no no tiene que ser entonces necesariamente el registro que ofrece de manera oficial las instituciones públicas, un registro
99:05
Speaker A
que sea único que me permita enlazar las dos datas. Sí, no necesariamente registros de de la parte pública, ¿no? También puede ser la parte laboral y todo, ¿no?
99:17
Speaker A
Sí, sea único el registro. Ya, sí, pero ojo, ese ID debe ser único, por eso siempre hay que puede haber duplicados ¿no?
99:28
Speaker A
Por ejemplo, por x motivos, una persona se repite dos veces, ¿no? Entonces, hay que primero depurar antes de hacer ese join ¿no?
99:36
Speaker A
Muy bien. Es raro eso, pero puede pasar, ¿no? Okay, muy bien. Y bueno, existe otra, no sé si alguna vez se han encontrado con este tipo de casos.
99:56
Speaker A
A veces los informáticos nosotros conocemos las tablas de datos de esta manera, ¿no? Las variables y sus valores ¿no?
100:08
Speaker A
A esto se conoce como el formato eh de datos o el formato estándar de datos, ¿no? O un dataframe tradicional, ¿no?
100:19
Speaker A
¿Qué sucede, jóvenes? Los informáticos tienen una costumbre muy particular y trabajan los este mismo datos en este formato.
100:30
Speaker A
Es la misma data, son equivalentes estos. Esto es la presentación, la forma larga, la forma corta, ¿no? O forma ancho, ancho y largo.
100:44
Speaker A
Son ambas datas son las mismas, jóvenes, solo que la presentación es diferente. Seguramente ustedes han escuchado la famosa frase que dicen pivoteo.
100:57
Speaker A
Sí, hay hay que pivotear los datos, dices. Mm. ¿Por qué? Porque como te te lo entregan en este formato, este formato no te permite hacer análisis tan sencillo, ¿no? Por ejemplo, si yo te pido, calcúlame el promedio de los dipodomis,
101:18
Speaker A
entonces oye, ¿cómo voy a calcular el promedio? Es si si está como observación ¿no?
101:24
Speaker A
¿Cómo haría en el R esto? Como texto, claro, están no se puede, no, no se podría. Yo necesito que esto esté como variable, no se podría.
101:34
Speaker A
Entonces tengo que tengo que pivotear los datos, ¿sí o no? Es decir, de este formato tengo que pasar este formato y acá si está hago una transmisa, tengo que pasar este formato, ¿no? Y acá si le tomo el promedio, el min de esta
101:48
Speaker A
variable y se acabó, ¿no? Entonces esto es un dolor de cabeza muchas veces. Entonces, por eso hay que tener algunas herramientas ya disponibles para nosotros hacer este proceso ¿no?
102:05
Speaker A
Entonces sí me ha pasado un par de veces. Entonces, ya investigando un poco más, había esta herramienta de pivoteo, ¿no?, que hace el proceso de conversión de un formato largo a un formato ancho, ¿no? Y también se puede hacer viceversa, ¿no?
102:23
Speaker A
Sí, exacto, Alejandro. es una una transpuesta, una transposición o en general se conoce como el famoso pivoteo de datos, ¿no?
102:33
Speaker A
Entonces sí siempre se van a encontrar con este tipo de datos, ¿no? Muy bien.
102:40
Speaker A
Existen dos funciones que hacen este proceso. Uno que va del formato largo al formato ancho y otro del formato ancho al formato largo ¿no?
102:52
Speaker A
Por ejemplo, e la función gator es una función que nos permite pasar los datos de forma horizontal a forma vertical.
103:11
Speaker A
Y la función sprint. La función sprint es una función que nos permite pasar los datos de forma vertical a una horizontal.
103:25
Speaker A
De acá a acá, ¿no? Eso es. Muy bien, esas dos funciones son muy útiles, jóvenes. En algún momento de sus vidas lo van a tener que usar en algún momento ¿no?
103:42
Speaker A
Pero ya saben que existen funciones que hacen ese proceso, ¿no? Muy bien. Entonces, esos son los aspectos más importantes de manipulación de datos.
103:53
Speaker A
Ahora vayamos al R para ver joints y también pivoteos. Muy bien, ya voy a cerrar esto y abran su lapó, en el lap 3 hay un montón de ejercicios que adicionales que les he agregado, jóvenes eh por ejemplo, el que hace filter,
104:20
Speaker A
rename y todo ello, ¿no? Lo vamos a lo vamos a ver rápidamente ya no se preocupen. Tenemos 10 minutos todavía voy a limpiar mi ambiente de trabajo.
104:38
Speaker A
Acá también mi consola. Cargo mi tigers, obviamente, y acá voy a crear un dataframe que ya lo vimos en la sesión anterior, ¿no?
104:51
Speaker A
Tres vectores, índice, fecha, grupo y con la función data frame voy a crear un objeto, una tabla, ¿no? Con estos tres vectores, sombreo, índices y acá está datos. Ahí está mi tablita.
105:09
Speaker A
Son datos ficticios, ¿no? ¿Cómo puedo aplicar la función filter a este conjunto de datos?
105:19
Speaker A
Miren, acá no voy a generar objetos que se almacenen, jóvenes. Simplemente le voy a decir que me muestre los resultados en consola para que no esté almacenando, jóvenes.
105:30
Speaker A
Ya, si quieren que se almacene, borran esto ¿no? Pero si quieres que solamente se muestre en la consola, le agregan la función head para que te muestre los cinco primeros registros, ¿no?
105:44
Speaker A
Muy bien. A este conjunto de datos le voy a decir que me filtre aquellos observaciones cuyo índice es mayor a 101, ¿no? Es decir, solamente me quedaría con con estos de acá, ¿no?
106:02
Speaker A
A ver, ¿cómo se hace eso, filter índice mayor a 101, ¿no? Ahí está. Solamente me he quedado con los índices mayores a 101, ¿no?
106:22
Speaker A
Si no quieren previsualizar y quieren almacenar, tendrían que hacer así, ¿no? Nombre el objeto, data original y la y el filtro, ¿no?
106:34
Speaker A
Entonces son dos formas de cómo observar, ¿no? Ahí está una nueva data con las observaciones que tienen índice mayor a 101, ¿no?
106:45
Speaker A
Muy bien, profesor. ¿Puedo combinar dos con dos eh condiciones? Sí. por ejemplo, índice mayor a 101 o grupo privado registrado.
107:00
Speaker A
Cuando pongo o quiere decir que tiene que cumplir uno o el otro o ambas condiciones ¿no?
107:10
Speaker A
Es una unión, ¿no? O una famosa disyunción, como le decían en su curso de lógica, ¿no?
107:21
Speaker A
Entonces podemos ver acá y listo. Ahí está. Profe, ¿por qué esto ingresa si no es mayor a 101?
107:31
Speaker A
Pero si es privado, registrado, por ende es válido por tus condiciones. No, no he dicho que sea una intersección, he dicho que ambas cumplan o solo uno de ellas. No, profe, ¿cómo hago con una intersección?
107:48
Speaker A
Índice igual 102.9 9 y que sea de grupo privado registrado. ¿Habrá algún caso que cumpla eso? Vayamos a ver.
107:58
Speaker A
Efectivamente hay una una obser una fila, ¿no? Índices 102.9 y que además es privado registrado. Cumple ambas condiciones. Jes.
108:15
Speaker A
Muy bien. Rename. Acá dice fecha. Profesor, ¿le puedo cambiar el nombre a periodo? Sí.
108:29
Speaker A
Variable nueva. Variable antigua. Ahora se llama periodo jóvenes ¿no? Muy bien, profesor. La función mutate permite crear variables. Sí.
108:50
Speaker A
Por ejemplo, voy a crear una variable doble que va a ser índice por dos y una variable triple que va a ser índice por tr. Solo es un ejercicio, jóvenes, ya para que se familiaricen un poco más, ¿no? Ahí está.
109:08
Speaker A
variable doble, variable triple, ¿no? Muy bien, jóvenes. Y acá lo que les he prometido jóvenes ¿cómo creo variables con condiciones?
109:23
Speaker A
Para eso voy a usar una función llamado case win, que también existe en el SQL, por cierto.
109:35
Speaker A
Entonces, voy a crear una variable llamado caso cuando es un nombre ficticio que le acabo de dar, ¿no?
109:49
Speaker A
Si la variable grupo es privado o registrado, el índice que se multiplique por dos.
109:56
Speaker A
Si el grupo es igual a público, que la variable índice se multiplicó por tres y eso va a afectar a mi variable, ¿no? En otras palabras, estoy creando una variable por condiciones, ¿no?
110:17
Speaker A
Entonces, simplemente sombreo y ejecuto. Y acá está, ¿no? Miren, si grupo es privado o registrado, el índice por dos, 200.
110:30
Speaker A
Si es público, por tres. Profesor, pero acá hay un caso en el cual me ha generado NA. ¿Por qué?
110:38
Speaker A
Porque yo no le agregué un criterio para esta condición. ¿Se dan cuenta? Yo no le agregué un criterio, por eso al no encontrar un caso que satisfaga esto, le ha puesto valor perdido, ¿no?
110:55
Speaker A
Para evitarnos estos valores perdidos, puedes agregar un criterio más. Es decir, para los privados no registrados debe ser índice por cuatro, por ejemplo, ¿no? Y ahí te va a llenar el valor, ¿no?
111:08
Speaker A
Otra manera de trabajar estos valores perdidos es agregar, ¿no?, todos los demás valores que no tienen su condición, se le agrega cero, ¿no?
111:23
Speaker A
Algo así. Ahí está, ¿no? Entonces, de esa manera ya le hace un tratamiento mucho más especial, ¿no?
111:35
Speaker A
Para eso sirve mutate más case, ¿no? Para crear variables bajo condiciones, jóvenes. Algo así como la profesora pone la nota, ¿no?
111:50
Speaker A
Por ejemplo, acá en Lima, Perú, de cer a 20, de 11 para arriba aprobado, menor a 11 jalado ¿no?
111:59
Speaker A
Entonces puedes crear una variable que te permita saber si está aprobado o reprobado en función a sus notas, ¿no?
112:09
Speaker A
O saber si está en inicio, en proceso, en satisfactorio también, ¿no? Mutate más case.
112:22
Speaker A
Ah, también lo que pasa la función si Harlis Rivas funciona cuando solo tienes dos grupos. Si cumple, si es mayor a 11 aprobado. Si es menor a 11 reprobado. ¿Y qué pasaría si tengo que cumplir cinco condiciones?
112:35
Speaker A
Ahí ya no se puede usar el la función eh f if else de que tiene el R, por ejemplo, ¿no? Claro, en Excel sí existe esa función, ¿no? Sí. Y puedes agregar muchas condiciones, pero cuando tienes muchas condiciones,
112:53
Speaker A
ya el case es mucho más práctico. Eh, me está dando un error el case when me está dando un error a mí.
113:01
Speaker A
A ver, compárteme tu pantalla. Déjame ver algo. A ver, comparte tu pantalla, por favor.
113:08
Speaker A
Okay, comparto pantalla. Ahí está. A ver, vamos a ver. Aquí tengo mi case win. Yo le agregué en grupo privado no registrado.
113:29
Speaker A
A ver, el índice por C. A ver, a ver, a ver, vamos a ver. M, me está dando este error.
113:39
Speaker A
Este aquí abajo. A ver, ¿podrías revisar si el nombre está correctamente escrito, por favor?
113:47
Speaker A
E, ¿cómo está en la base de datos? El índice no registrado. El privado no registrado. A ver cómo está. Yo lo tomé de acá.
113:55
Speaker A
A ver, de ahí lo tomé. A ver, cópialo. Privado, no registrado. De ahí fue que lo copié. No registrado.
114:04
Speaker A
Lo copio de ahí, lo pongo acá. Ah, ya. Hay un paréntesis en la línea 71. Eso debes borrarlo. El índice por tres en tu código. En tu código.
114:14
Speaker A
Ah, tienes razón. Es Sí, sí. Ahora ejecútalo. Ahora sí. Entonces aquí tengo nuevamente. Ejecútalo. A ver.
114:28
Speaker A
Eh. Ah. Borra. No, no ejecuta nuevamente. Un minuto. Ya. Nuevamente ejecuta. Al parecer se te colgó un ratito el R.
114:48
Speaker A
Se queda un paréntesis abierto. A ver, a ver, vamos a ver dónde está el error. A ver.
114:57
Speaker A
Ah, te falta otro paréntesis en el cinco. Son dos paréntesis. Uno que cierra otro.
115:05
Speaker A
Exacto. Exacto. Muy bien. Ya. Ahora ejecuta. Creo que ahí lo puede hacer. Sí, ahí está. Ya.
115:16
Speaker A
Ahí está. Excelente. Muy bien. Ahí están todos los Sí, ya no me deja valor valores faltantes.
115:25
Speaker A
Ya no aparece valor faltante porque has copado todas las posibilidades. Exacto. Gracias. Muy bien. Excelente. Muy bien. Muy bien, muchachos.
115:35
Speaker A
Excelente. Ya. A ver, ¿hay otra pregunta por ahí? Excelente. Harl Rivas. Era por el paréntesis. Muy bien, muy bien. Entonces, la función select, ustedes ya lo conocen, hace selección de variables ¿no?
115:53
Speaker A
Por ejemplo, solamente quiero de las tres, solamente quiero fecha y grupo. Ahí está, ¿no? Fecha y grupo.
116:02
Speaker A
La función arrange lo que hace es ordenar descendente y ascendente, como quieren ustedes, ¿no?
116:13
Speaker A
Ahí está. De menor o mayor. Te acuerdas que la palabra descendente también funciona con el menos.
116:24
Speaker A
Puedes poner des entre paréntesis índice o también el menos. cualquiera de los dos funciona. Ya, ya es un plus más para ustedes. Puede ser la función des o también puede ser simplemente menos, ¿no?
116:42
Speaker A
Muy bien. Claro, algo así, ¿no? Lo que les comento es esto, ¿no? En vez de este menos puedo borrar y poner 10.
116:57
Speaker A
Esto también es válido, jóvenes. Cualquiera de los dos es válido. Ya. ¿Así o así?
117:06
Speaker A
Muy bien. Bueno, nos quedamos acá, muchachos, porque ya nos pasamos unos minutos. A ver, nos quedamos acá y continuamos la siguiente sesión, muchachos. Y que tengan un excelente fin de semana.
117:24
Speaker A
Por favor, practiquen eh los ejercicios que hemos visto porque la siguiente semana ya vamos a ver visualización de datos, jóvenes. Ya.
117:34
Speaker A
Muy bien. Si no tuvieran dudas, nos quedamos acá, muchachos. Sí, aquí ya son las 11 de la noche en República Dominicana.
117:41
Speaker A
Wow. Ya son 10:4. Sí, aquí ya son más de las 11. Sí, sí. Ya, muchachos, nos quamos acá.
117:48
Speaker A
Entonces, ha pas igualmente. Excelente fin de semana para todos. que descanse. Gracias. Buenas noches.
117:56
Speaker A
Gracias.
Topics:manipulación de datosdplyrtidyrTidyverseRdata wranglingHadley Wickhamanálisis de datosvisualización de datosoperador pipe

Frequently Asked Questions

¿Qué es la manipulación de datos y por qué es importante?

La manipulación de datos es el proceso de limpiar y transformar datos para que estén listos para análisis y modelamiento. Es fundamental porque la calidad del análisis depende de la calidad de los datos manipulados.

¿Qué es Tidyverse y qué librerías incluye?

Tidyverse es un conjunto de librerías en R que trabajan en conjunto para facilitar el análisis de datos. Incluye dplyr para manipulación, ggplot para visualización, tidyr para transformación, readr para lectura de datos, entre otras.

¿Cómo funciona el operador pipe en dplyr?

El operador pipe (%>%) permite encadenar funciones de manera secuencial, aplicando transformaciones paso a paso sobre un conjunto de datos, facilitando la lectura y automatización del código.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →