Sesión 4: Visualización de datos usando GGPLOT2 — Transcript

Sesión sobre visualización de datos con ggplot2, joins en R y manipulación de formatos de datos para análisis estadístico.

Key Takeaways

  • Los joins permiten combinar datos de diferentes tablas usando una variable clave común.
  • Transformar datos entre formatos wide y long es fundamental para análisis y visualización.
  • R ofrece funciones eficientes y sencillas para manipulación y visualización de datos comparado con otros softwares.
  • Es recomendable hacer joins uno por tabla y concatenarlos para manejar múltiples fuentes de datos.
  • La visualización con ggplot2 es modular y permite crear gráficos complejos de forma progresiva.

Summary

  • Introducción a la visualización de datos usando ggplot2 en R.
  • Explicación y ejemplos prácticos de joins (left join, inner join) para combinar tablas de datos.
  • Diferenciación entre formatos de datos wide y long y cómo transformarlos con funciones como gather y spread.
  • Importancia de tener una variable identificadora común (llave primaria) para realizar joins.
  • Demostración de código en R para realizar joins y manipulación de data frames.
  • Comparación con funciones similares en otros softwares como Stata y SPSS.
  • Uso de librerías y funciones específicas para pivoteo y transformación de datos en R.
  • Consejos para manejar múltiples tablas y joins concatenados con el operador pipe.
  • Introducción a la gramática de gráficos y elementos básicos para crear visualizaciones efectivas.
  • Recomendaciones para crear gráficos desde lo más simple hasta lo más complejo con ggplot2.

Full Transcript — Download SRT & Markdown

00:02
Speaker A
Ya. A ver, ¿me escuchan? Si ni se ve la pantalla. ¿Me confirman, por favor?
00:12
Speaker A
Sí, claro. Ya. Okay. Muchas gracias. Ya. Eh, ¿qué tal? Buenas noches con todos. Entonces, el día de hoy estaríamos viendo el tema de visualización de datos, pero nos falta terminar una pequeña parte de la sesión anterior, ¿no? Nos habíamos
00:32
Speaker A
quedado más o menos, a ver, habíamos visto, bueno, los joins, ¿no? Habíamos visto los joins, por ejemplo, y habíamos explicado qué significaban los joins, ¿no? Simplemente era cruce de tablas, ¿no? Entonces, habían varios joins, se join específicamente
00:56
Speaker A
y el join y el inner join, los más usados, ¿no? Esto es para cruzar tablas si es que se desea eso, ¿no?
01:06
Speaker A
Luego hablamos de los formatos de presentación que tienen los datos, ¿no? El formato tradicional que todos usamos es el formato wide, se podría decir, ¿no? Es este formato, es decir, datos en esta estructura.
01:27
Speaker A
Las variables están en las columnas y en las filas están las observaciones, ¿no? Entonces, esto es una estructura de datos estándar que se maneja o que se maneja siempre para hacer los análisis y todo ello, ¿no? Pero a veces te puede
01:44
Speaker A
venir en formato long, ¿no? Que es un formato, miren, esta tabla transformada, esta tabla es un formato medio raro, ¿no? Formato largo, dice, ¿no?
01:52
Speaker A
Format long. Entonces, eh, existen funciones, por ejemplo, el gather que te permite pasar, pues, de un formato horizontal a un formato vertical.
02:06
Speaker A
Y spread, ¿qué hace? Al revés. A este proceso de ida y vuelta de formato de datos, jóvenes, se le conoce como el famoso pivoteo de datos, ¿no? O pivoteo de tabla, en este caso, el pivot.
02:24
Speaker A
Eh, en Stata, por ejemplo, le dicen reshape, es un término que usan ellos, ¿no? Pero ambos significan que es transformar la presentación de las tablas más que todo.
02:37
Speaker A
Muy bien, eso era lo que les quería comentar. Ahora vamos a ver la parte laboratorio de esta parte.
02:45
Speaker A
A ver, vamos a abrir el laboratorio. Ustedes ya tienen sus materiales, LAP 3, ¿no?
02:54
Speaker A
Muy bien, ahí está. Voy a limpiar acá mi escobita. Y habíamos llegado, todo esto ya vimos, habíamos llegado hasta, eh, bueno, hasta acá. Acá nos quedamos, ¿no, Luis?
03:15
Speaker A
Sí, adelante. Es esa función de gather, es lo mismo, lo mismo que transponer en SPSS.
03:27
Speaker A
Sí, es lo mismo. En ese SPSS existe una función. Sí. Cuando tú tienes la tabla de frecuencia hecha, allá tú vas al editor, tú le puedes transponer cambiando la fila por columna.
03:39
Speaker A
Sí, correcto. Es algo así. Sí, eso es. En Stata le dicen el reshape, por ejemplo. Yo la he visto.
03:48
Speaker A
Lo que pasa es que sí, solo que quería hacerlo con algo que uso mucho y quería para poder recordar.
03:54
Speaker A
Sí, sí, sí. Lo tienen ese Stata, lo tienen, ¿no? El R lo hace pues en una línea. Eso es lo interesante, ¿no?
04:05
Speaker A
Por ejemplo, acá está un ejemplo de código, ¿no? Usa la función, la palabra, la variable clave y los valores, ¿no?
04:14
Speaker A
Entonces lo van a ver lo sencillo que es en R, ¿no? En cambio, en data o en SP tiene muchas secuencias, ¿no?
04:23
Speaker A
Miren, hay varias funciones en R, pero por ejemplo, hay una función llamada pivot_longer o pivot también que hace eso, ¿no? Pero estas funciones de acá también hacen ese mismo proceso.
04:39
Speaker A
Hay varias funciones, es decir, varios autores que han creado sus funciones, ¿no? Que hacen lo mismo, por cierto.
04:47
Speaker A
A ver, nos quedamos acá, ¿no? para explicar un poquito del left join. A ver, entonces este proceso es simple, jóvenes. A ver, voy a crear esta data que hemos simulado acá, ¿no? Es una data que hemos creado acá y tenemos este
05:04
Speaker A
conjunto de datos pequeñitos, ¿no? Muy bien, esta tabla ya la teníamos y acá voy a crear una nueva data, un nuevo data frame llamado ponderadores, donde voy a crear una variable llamada grupo y una variable llamada ponderador, ¿no?
05:27
Speaker A
¿Para qué voy a hacer eso? En la vida real tú vas a tener dos conjuntos de datos, ¿no? Tu data original y otra data de la cual quieres sacar provecho. Pues no, algo así, ¿no? Tengo mi data original
05:47
Speaker A
y quizás por acá hay otra fuente, otra tabla de datos y tú pues de acá quieres jalar una variable hacia acá, ¿no?
05:59
Speaker A
Quieres hacer un left join, ¿no? De izquierda a derecha, ¿no? Entonces, quieres agregar pues una variable acá.
06:08
Speaker A
En otras palabras, voy a retroalimentar mi base de datos, pero para hacer ese proceso, ambas datas deberían tener una variable de identificación, ¿no? En común para ambos.
06:24
Speaker A
Esa variable me va a permitir hacer ese vínculo, ¿no? Un ID o un identificador.
06:31
Speaker A
Los ingenieros de sistema le dicen llave primaria o primary key, ¿no? Como lo quieran llamar. Nosotros la vamos a llamar simplemente llave o identificador, ¿no?
06:42
Speaker A
Ese es un left join, ¿no? Un right join sería al revés. Entonces, pero yo siempre he dicho, ¿no?, tu data principal hay que retroalimentarla y ese proceso es un left.
06:58
Speaker A
Muy bien. Entonces, ¿qué en común tienen estas datas? Tiene una variable en común grupo, ¿no? Se dan cuenta acá tengo grupo y acá también tengo grupo.
07:13
Speaker A
Entonces, esa variable la puedo usar como llave para vincularlo, ¿no? ¿Qué me conviene? Me conviene a esta data agregarle la variable ponderador, ¿no? Se supone que después de hacer el join ya me debería aparecer acá el ponderador, ¿no?
07:34
Speaker A
Con sus respectivos valores. Eso es el objetivo de hacer los famosos joins, ¿no? Muy importante. Variable en común, grupo y grupo, ¿no? Entonces, si hay una variable en común que puedo usar como vínculo o como llave.
07:53
Speaker A
Muy bien. Entonces, ¿qué es lo que tengo que hacer? Un left join. No voy a crear un nuevo objeto llamado datos_join, que va a ser igual a los datos originales, pero le voy a aplicar la función left join.
08:10
Speaker A
Voy a usar la data ponderadores y mi variable de agrupación va a ser o mi variable de vínculo va a ser grupo, ¿no? Porque esta variable es común a ambas bases de datos, ¿no?
08:24
Speaker A
Y si ejecuto esto, automáticamente, ah, acá me falta correr el verse, ¿no? La librería, ¿no?
08:37
Speaker A
Como no hemos corrido líneas atrás, ya no le hemos vuelto a correr. Ahí está. Entonces voy a correr todo.
08:48
Speaker A
Y miren, jóvenes, acá se me crea un objeto llamado datos_join, ¿no? Si se fijan, acá se ha creado un objeto llamado datos y es decir, este pedacito de código de acá que hemos hecho me va a generar una nueva data, ¿no? Que
09:08
Speaker A
efectivamente es esta. Ahí está. Muy bien. Entonces, si yo le doy click, ¿qué observan?
09:22
Speaker A
Tu data original retroalimentada con la data de otro conjunto de datos, ¿no?
09:30
Speaker A
Ese es el objetivo de hacer los famosos joins, jóvenes. Así de simple, ¿no? Eso es simple. Entonces ustedes van a importar dos tablas de datos o tres, como quieran, ¿no? Y pueden usar para crear o para agregar variables a su data
09:52
Speaker A
original, ¿no? Si tienen varias tablas de datos, ¿qué tienen que hacer? Varios joins, ¿no?
09:59
Speaker A
Varios joins concatenados con el operador pipe. No, no me creen, ¿no? Vamos a probar otro más, ya.
10:08
Speaker A
O sea, que yo no puedo hacer todo eso en un solo join. Tengo que hacer uno por tabla.
10:14
Speaker A
Claro, uno por tabla. ¿Por qué? Porque acá solamente te pide una tabla, ¿ves? Por ejemplo, voy a crear.
10:20
Speaker A
Yo puedo poner varias tablas allá, pero les, yo en anidados. No se puede. No, no, no se podría. No se puede.
10:28
Speaker A
Tienes que poner algo así, ¿no? Supongamos tuvieras otra tabla, ¿no? Así tendrías que hacer porque cada línea hace referencia a una tabla, ¿no? Justo la tabla, ¿cuál es? Es esta, por ejemplo, voy a crear otro. Ya, a
10:41
Speaker A
ver, voy a crear otro objeto por acá. Le voy a llamar, eh, hm, horas, horas trabajadas, horas. Entonces, acá le voy a poner, no sé, a ver, 20 horas, 18 horas, 15 horas.
11:06
Speaker A
Y acá voy a poner, eh, horas. Entonces esta nueva tabla se llama horas, ¿no? Vas acá y la variable clave también es grupo.
11:21
Speaker A
Claro, acá coincide, ¿no? La idea es que las tablas que tú vas a hacer joins tengan un identificador en común, ¿no?
11:29
Speaker A
Común a tu data original, obviamente, ¿no? Si no, no se va a poder decir vínculo, que no tiene que ser el mismo join, la misma clave. Claro, de tu data principal, si tienes un identificador, eso debe ser común en todas las tablas
11:43
Speaker A
que tú piensas cruzar, ¿no? Pero yo puedo hacer el left join con otro indicador que, por ejemplo, en la segunda tabla en horas, yo puedo ten...
11:55
Speaker A
primera tabla de ahorita. Ah, claro. Obviamente que sea común. ¿Cómo? ¿Cómo? Eso, eso, eso me, eso me flexibiliza el yo manejar los datos, porque no tiene que ser estrictamente con el mismo código, sino con el que yo encuentre común.
12:12
Speaker A
Claro. Correcto. Correcto. Puede que tu data original con la data ponderadores con grupos se vincule, ¿no?
12:22
Speaker A
Pero con otra tabla puede haber otro identificador que vincule que no se no sea no necesariamente sea grupo. No es verdad. Eso es correcto. Solamente tendrías que especificar cuál es la variable a vincular, ¿no?
12:37
Speaker A
Sí, es verdad. ¿Puedo? Sí, se puede. Sí. Eh, solamente que en ese caso pueden existir problemas porque si la si bien dice la normativa sobre las llaves primarias y la relación es que lo ideal es que estos identificadores
12:58
Speaker A
se correlacionen entre sí, porque si no se vuelve un poquito tedioso cuando ya uno tiene múltiples bases eh bases de, vamos a decirlo así, data frames que uno quiera hacer estos tipos de joint porque y también no ayuda mucho de cara al
13:20
Speaker A
proceso interno que realiza el motor para eh comenzar a marchar eh las llaves cuando son de diferentes tipos.
13:30
Speaker A
Eso relantiza el proceso. Sí, sí, sí. Es verdad, es verdad, es verdad. en sí, eh, ya a veces inclusive puedes cruzar, puedes crear variables y claves, ¿no? T llaves puedes crear también inclusive combinando variables, concatenando variables ¿no?
13:51
Speaker A
Eso ya va a depender pues de del trabajo que estás realizando, ¿no? Pero generalmente si son datas empresariales siempre hay forma de hacer eh los match, ¿no? Porque hay una variable clave. por ejemplo, las planillas de los trabajadores de una
14:07
Speaker A
empresa. Obviamente con el nombre de identificación haces automáticamente todos los cruces, ¿no? Si estás trabajando con empresas también hay una variable de identificación de la empresa. Si estás trabajando con estudiante de la universidad, al estudiante todos tienen un código.
14:21
Speaker A
Entonces sí o sí hay una variable que te permite vincular, ¿no? Profe, ¿cómo es que se llama cómo se llama esa variable?
14:30
Speaker A
Los dineros la llave clave. Ah, tiene varios nombres, ¿no? Por ejemplo, los informáticos le dicen eh llave o ke o ke, como dice, o llave primaria, ¿no? Que es la llave principal de que se usa para hacer el vínculo,
14:47
Speaker A
¿no? Eh, nosotros le vamos a llamar simplemente identificador, ¿no? O llave, que es un término más sencillo.
14:59
Speaker A
Eso es es algo así, ¿no? A ver, ¿cómo explicamos eso en términos sencillos? A ver. Ah, voy a buscar una variable. Claro. Muchas gracias.
15:11
Speaker A
Ah, ya. Okay. Okay. Muy bien. Sí, es es sencillo la lógica, ¿no? Por ejemplo, acá hemos creado eh para hacer es el left join eh o o right joint. Eh, yo tengo que tengo esa Q esa llave eh, me toca en algunos casos
15:33
Speaker A
tendría que ordenarla de forma descendente o ascendente o no importa el orden simplemente que estén los mismos elementos.
15:39
Speaker A
No, ya estas funciones se encano, ¿no? Sí. Tú solamente dale el objeto y la llave de vínculo y estas funciones se encargan de todo el proceso.
15:50
Speaker A
Perfecto. Gracias, profe. Sí, de frente, no se preocupen. Eh, ya. Entonces, por ejemplo, acá ya hemos creado dos objetos. Voy a cruzar y simplemente ahora horas no he ejecutado, no falta ejecutar esto acá. Ahora sí hago todo el join, ¿no? Y
16:06
Speaker A
ustedes se van acá. Ahí está, ¿no? Entonces el objetivo de los joints, jóvenes, es eso, agregar variables a tu data original a partir de otras fuentes, ¿no? Pero esas fuentes tienen que tener un una variable en común. En
16:26
Speaker A
este caso, la variable grupo es común en las tres tablas, ¿no? Esto es un ejemplo. En sus casos puede haber una variable diferente, ¿no?
16:35
Speaker A
Generalmente son identificadores, ¿no? El número de identificación, código del estudiante, código de la empresa, esas cosas que te permiten identificarlos, ¿no?
16:50
Speaker A
Eso es hacer un join. Muy bien. Si quieren saber más cositas, yo les enseñé al inicio de de la clase, ¿no? De la sesión, ¿no? Sesión uno, ¿no?
17:05
Speaker A
Pueden pedir ayuda, help, entre paréntesis la función. Y acá les dice todo lo que ustedes quieren saber, cuántos tipos de joins existen, ¿no? Y tiene varios argumentos, ¿no?
17:24
Speaker A
Ahí está el inner join y todo. Tienen todos los posibles cruces que tú puedes hacer.
17:32
Speaker A
Te explica cada comando qué es lo que significa ¿no? Ahí está. Y acá inclusive tiene un par de ejemplitos.
17:42
Speaker A
Ahí están unos ejemplos que te da, ¿no? Entonces siempre es bueno, si queremos saber un poquito más de la función entrar a su ayuda y dar una lectura, ¿no?
17:54
Speaker A
Muy bien. Muy bien, muchachos. Ahora vayamos a esta parte, a los formatos de datos, formato largo y formato ancho, ¿no? Esto es un dolor de cabeza.
18:08
Speaker A
Eh, ¿quiénes manejan este formato largo? Los informáticos, los ingenieros de sistemas, ¿no? Porque dicen que en esta formato de datos eh eh es más eficiente para ellos, ¿no?, sus manejos en SQL y todo ello, pero para nosotros no es tan sencillo hacer
18:25
Speaker A
el análisis, por eso tenemos que hacer el pivot. Muy bien, vamos a trabajar con una data que es conocida. Ustedes conocen la data Iris, ¿no? La data Iris.
18:37
Speaker A
una data pues que tiene el R, ¿no? Por default. Si ustedes le dan Iris, por ejemplo, acá le dan click y ahí sale la data, ¿no?
18:46
Speaker A
Miren, data conocida, data real, por cierto, no no es no es no es falso, pero ya es propio del R, ¿no?
18:58
Speaker A
Entonces esta data se almacena automáticamente porque yo le puse así, ¿no? Datais esata también la usa effects.
19:07
Speaker A
Sí, hay varios. Lo que pasa, este ir pertenece un repositorio de datos e para datos.
19:16
Speaker A
Entonces es una data bien bien usada, bien famosa, ¿no? Entonces lo tiene, R lo tiene, Python también lo tiene y así.
19:26
Speaker A
Muy bien. Entonces voy a hacer algo interesante acá. Voy a a esta data Iris le voy a crear una variable de numeración. Ya, es decir, un ID.
19:44
Speaker A
Entonces, ¿qué mutate? ¿Se acuerdan qué es mutate? Crear variables, ¿no? Entonces, mutate, créame la variable ID del uno hasta el número de filas. Es una algo así, ¿no? Si si yo pongo 1 2.10 me da los 10 números consecutivos, ¿no?
20:03
Speaker A
Entonces, si yo le digo, créame la variable ID que vaya de uno hasta número de filas de mi base de datos, en otras palabras ¿no?
20:12
Speaker A
Y luego seleccióname a la variable ID y que vaya al inicio. Generalmente cuando tú creas una variable te manda al final la variable, ¿no? Pero yo quiero que la ID esté al inicio, se hace con esta función.
20:31
Speaker A
Entonces, al final, ¿qué es lo que te queda? Miren, esto no he creado este identificador.
20:40
Speaker A
Simplemente es un es una nueva variable que que cuenta del 1 al 150. No, no he hecho nada nuevo.
20:48
Speaker A
Ojo, estamos usando lo que hemos aprendido en la sesión anterior. Mutate, crear variables, select, seleccionar variables.
20:57
Speaker A
¿Por qué he hecho eso? Porque para hacer los pivots hay que tener una una variable de que me identifique el registro, la fila, ¿no?
21:08
Speaker A
Eso siempre es importante. Ya la función gater, ¿qué es lo que hace? Acá les puse gater es una función que nos permite pasar los datos en formato horizontal a un formato vertical, ¿no? Es decir, horizontal a vertical.
21:31
Speaker A
¿Qué me pide esta función? Mira, acá voy a crear el objeto iris vertical le voy a llamar.
21:37
Speaker A
va a ser igual a mi data original, pero aplicado la función Gator, ¿no? ¿Qué me pide como argumento?
21:49
Speaker A
No le ha casi casi nada. Imagínense, la llave va a ser variables, pero si si ustedes se fijan en su data no hay nada de variables, ¿no?
22:03
Speaker A
Pero las variables serían estas, ¿no? Muy bien. Y ustedes se preguntarán, "Profesor, ¿qué hace esta función si yo no le doy ningún argumento?" Miren lo que hace.
22:21
Speaker A
Y acá estáis vertical. Miren qué es lo que he hecho, jóvenes. Ustedes tenían así data original, ahora tienen data vertical, horizontal, original y este es el vertical.
22:41
Speaker A
especie se mantiene variables son las variables pasaron a ser variables y los valores son los valores que asumía cada variable ¿no?
22:49
Speaker A
Ya esta estructura de datos, jóvenes, es el formato vertical, joven esto es tu data original y esto es tu data transformada, ¿no?
23:02
Speaker A
El problema es que cuando se tiene este conjunto de datos de esta manera es muy difícil de analizar.
23:10
Speaker A
Por ejemplo, si yo les pido cuál es el promedio de las variables de la longitud del cépalo, entonces no es nada sencillo, ¿no? Sin embargo, si acá yo te pido el promedio de la longitud de cépalo, le das el min a la
23:28
Speaker A
variable y se acabó, ¿no? Pero acá no es nada sencillo. Entonces te das cuenta que la función no te pide no te pide muchas cosas de la data no prácticamente solito se encara de hacer ese esa transformación.
23:49
Speaker A
Ya, imaginemos que nos ha llegado de de la otra oficina una data de este tipo y nosotros tenemos que analizar, obviamente.
23:59
Speaker A
Entonces, esto tenemos que transformarlo al formato tradicional, es decir, a este formato. ¿Cómo se hace eso? Para ello usas la función sprint.
24:11
Speaker A
Entonces, Iris horizontal va a ser mi nuevo objeto. Le voy a decir, "Oye, a la data Iris vertical transformamel." Miren, no le doy nada tampoco, simplemente esta función split sabe cuáles son las variables, sabe cuáles son los valores y lo que va a hacer es
24:37
Speaker A
regresar al formato horizontal. ¿Dónde está Iris horizontal? Está acá. ¿No se dan cuenta? Esa función es así de útil, jóvenes.
24:54
Speaker A
Sencillo. Es decir, esa función entiende el formato y lo regresa al formato que le estás pidiendo, ¿no?
25:07
Speaker A
Entonces, el pivoteo es una tarea muy sencilla en R, jóvenes. En stat hay que indicar muchas cosas, ¿no? CP es un poco más complicado todavía, pero en RSI no son las únicas funciones, jóvenes.
25:23
Speaker A
Hay otras funciones. Por ejemplo, a ver, el pivot pivot long, si no me equivoco, hay uno que se llama así.
25:36
Speaker A
A ver si está en health. A ver, vamos a buscar. Ahí está, ¿ves? pivot wider, pivot longer, no son otras funciones que también hacen el mismo proceso.
25:50
Speaker A
No son los únicos, pero estos son sencillos. Yo lo veo super práctico. ¿Quedó claro esa parte? Sí. No, sencillo. Solamente tiene que usar la función apropiada según lo que ustedes desean. Nada más.
26:11
Speaker A
Muy bien. ¿Alguna duda sobre esta parte, jóvenes? Los que deseen pueden investigar el otras funciones que existe, pero al final es lo mismo, ¿no? No es nada complicado.
26:27
Speaker A
Muy bien. Su compañero me había pedido, profesor, quisiera hablar un poquito de imputación de datos, así que vamos a explicar también esa parte.
26:41
Speaker A
En los materiales del día de hoy, yo les compartí uno que dice eh extras imputación de datos. Vamos a verlo super rápido. Ya.
26:56
Speaker A
La imputación de datos, muchachos, es lo siguiente. Imaginemos que tú estás haciendo tu investigación o algo así, ¿no? Y tienen tu base de datos, ¿no?
27:08
Speaker A
Tienes un montón de variables, ¿no? Y justo tienes acá la variable edad, por ejemplo, de un grupo de personas, ¿no? Acá tienes 20 30 y acá no tienes nada. Es un valor vacío.
27:25
Speaker A
40 35. Acá tienes un valor vacío 25 y así, ¿no? A estos valores vacíos se les conocen valores perdidos missing o los famosos NA. No, se presentan en variables numéricas y también en variables categóricas.
27:51
Speaker A
Su origen puede ser de diferente naturaleza, ¿no? Pero generalmente son aleatorios o a veces pues omisiones o errores humanos ¿no?
28:02
Speaker A
Los errores humanos generalmente pasan en las encuestas, por ejemplo. Quizás fue a encuestar una persona y la persona se negó y bueno, generó un valor faltante ¿no?
28:14
Speaker A
Ya, pero al margen de eso hay que darle solución, no podemos dejarlo así. Hay dos posibles soluciones, muchachos.
28:23
Speaker A
O lo imputamos o lo eliminamos. Así de simple. Dos soluciones, ¿no? Eliminación eliminamos o lo imputamos, ¿no?
28:43
Speaker A
¿Cuál es cuál se recomienda siempre? La imputación, jóvenes, siempre se tiene que recomendar la imputación porque eliminar es perder filas en variables que sí están completas, ¿no?
29:01
Speaker A
Entonces, eliminar es una mala opción, aunque algunos autores dicen que puedes eliminar si es que una cantidad muy pequeña no no dependerá. Bueno, yo estoy de acuerdo con que la primera opción sería imputar, pero no sería recomendable eh pensar que
29:19
Speaker A
imputar una gran cantidad de datos o una cantidad importante de lo de la muestra que tú estés analizando, no traería un sesgo significativo en los resultados que tú vayas a tener.
29:28
Speaker A
Claro, que la imputación es poner un valor que tú vas a estimar, que ni siquiera es el es el que va.
29:37
Speaker A
Sí, correcto. Y si la data, por ejemplo, si el registro nada más una variable la que está vacía, perdida o faltante, podría, bueno, imputamos, pero y si es, por ejemplo, de esa misma variable muchos muchos registros, o sea, yo ese tipo de
29:55
Speaker A
dato pensarlo antes de tomar la decisión ¿verdad? Claro. Exacto. Entonces, sí, totalmente de acuerdo, ¿no? Si bien estas son las dos soluciones, imputar tampoco es la solución adecuada si es que mi base de datos tiene muchos valores faltantes, ¿no?
30:10
Speaker A
Pero pero profe adelante. Yo yo podría utilizar una función de densidad de probabilidad y hacer una simulación basada pues en en la propiedad estadística para simular esos datos eh imputados, o sea, podría calcular sobre la media y ajustar sobre
30:27
Speaker A
unos desvíos y poder estructurarlo para poder imputar. De igual forma no me daría sesgo a menos que estuviera utilizando formas matriciales, pero para hacer cálculos como tal, pues yo creo que si se utiliza sobre la misma distribución de los propios datos, pues
30:39
Speaker A
no habría problema. Sí, correcto. Pero igual hay que tener mucho cuidado. ¿Por qué? Eh, hay varios autores, ¿no?
30:48
Speaker A
Por ejemplo, dice que si tu uno tendría que imputar si los valores faltantes representan, por ejemplo, menos del 10%, ¿no?
30:59
Speaker A
Es decir, si esta variable de edad tiene sola tiene de 10 menos menor o igual a 10% de valores faltantes, entonces sí se puede optar por un proceso de imputación, ¿no? Es decir, esta la imputación va a ser una solución
31:14
Speaker A
factible, ¿no? Pero ya puedes tener 50% valores faltantes o 60% ya no tiene lógica ¿no?
31:22
Speaker A
Pero más bien tienes que tienes que preocuparte ahí porque que tu data tenga muchos valores faltantes significa pues que algo está fallando en el proceso de recopilación, ¿no? No es normal eso.
31:34
Speaker A
Okay. Aunque aunque estamos analizando el caso extremo, una cantidad de de faltante muy amplio o lo regular nunca es tanto, pero vamos a suponer que sí lo sea. Es cierto lo que dice el compañero que se podría estimar, pero el
31:50
Speaker A
el solo hecho de nosotros hacer ese ese proceso de una función de densidad, ya el usar una función de densidad, ella como tal involucra un error, o sea, un sesgo. más el sesgo del diseño del muestreo, más el sesgo del faltante,
32:06
Speaker A
más, o sea, es una acumulación de sesgos. Por eso, por eso es que muchos autores son radicales, elimínanla y otros usan el porcentaje, un porcentaje por debajo de del cinco, del 10, eso va a depender de la escuela, ¿verdad?
32:23
Speaker A
Entonces imputa. Pero eh ahora hay muchos muchos métodos para para evitar eh los datos faltantes y así uno evita todo ese tipo de cosas.
32:35
Speaker A
Sí es cierto. No hay que abusar ni de eliminar ni imputar. Es correcto. Si bien son soluciones, hay que tomarlo con pins.
32:42
Speaker A
Ambos, ¿no? Es muy delicada la situación. Y lo que dice también es correcto. Actualmente hay muchas técnicas de imputación de datos y cada vez hacen más eficientes. Es también es interesante.
32:54
Speaker A
Sí, porque es que es que compañeros, el problema es que es que, por ejemplo, levantar un dato biológico a veces es es complicado y a veces pues también perderlo también es muy difícil.
33:03
Speaker A
Entonces, también hay que analizar los casos porque uno podría decir, bueno, yo puedo perder un dato, pero qué costo es la recuperación de ese dato. Y si es un dato ideológico, es un poco complicado.
33:13
Speaker A
Exacto. Claro. Exacto. En toda la nación. Correcto. Muy bien. Es claro, va a depender mucho pues de del sector en el que nosotros nos encontremos, ¿no?
33:24
Speaker A
Claro, en temas biológicos es muy dedicado a la imputación de datos. Correcto. Bueno, es un tema de debate amplio. Es más, les comento, hasta hace un par de años, más o menos cinco, casi 10 años, había un grupo de académicos, pues, que
33:41
Speaker A
decía que la imputación de datos era inventar datos, era un era todo un debate.
33:48
Speaker A
Pero ya con el tiempo se mostró que la imputación de datos son técnicas ya están muy validadas, ¿no?
33:55
Speaker A
Hay tesis, libros de imputación deos, imagínense, papers. Pero pero el solo hecho de de hacer un modelo de regresión para hacer una imputación no es un asunto inventado, ya es un proceso muy acabado.
34:09
Speaker A
Sí, es verdad, hay técnica, hay imputación basada en regresión también, ¿no? Ya. Muy bien. Entonces, estas dos soluciones hay que tomarlo con pinza, jóvenes. Eliminación.
34:23
Speaker A
Si tuvieras muchos datos y tus valores faltantes, pues representan menos del 1%, no hay no hay problema, ¿no? Por ejemplo, un millón de registros que tengan cinco valores faltantes no lo va a afectar, ¿no? Pero si tuvieras, no sé,
34:37
Speaker A
60 registros y tienes 15 valores faltantes, ahí como que ya cambia las cosas ¿no?
34:44
Speaker A
Entonces, muy importante también el tamaño de la muestra. Muy bien, al margen de eso, estas son eh las dos posibles soluciones para los valores perdidos, ¿no? Entonces, su compañero me ha pedido que haga un ejemplo de eso, si bien no es parte de
35:00
Speaker A
del curso, pero igual es es interesante discutir estos temas, ¿no? Ya, muy bien. Ahora vayamos al ejemplo.
35:09
Speaker A
Acá voy a crear una data pequeñita para que se entienda el ejercicio. Ya he creado una data con tres variables, ¿no?
35:16
Speaker A
ingreso y sex, dos variables numéricas y una categórica. La imputación de datos también va a depender de la naturaleza de la variable, ¿no? Si es una numérica, hay técnicas para ello. Si es una categórica, hay técnicas para ello, ¿no?
35:32
Speaker A
Por ejemplo, para las categóricas lo más sencillo es la moda. El más sofisticado sería una regresión logística, por ejemplo binaria ¿no?
35:42
Speaker A
Para las barriles numéricas tenemos la media mediana moda regresión cabinos cercanos, modelos de machine learning, un montón de cosas.
35:52
Speaker A
Pero al margen de esas técnicas, hay que entender que efectivamente una imputación de datos, jóvenes, es una estimación nada más, es decir, una aproximación.
36:04
Speaker A
No es que es el valor real, simplemente es un valor estimado que te va obviamente permitir tener una data completa y hacer un análisis más más eficiente ¿no?
36:15
Speaker A
Porque imagínate lo siguiente, ¿no? Profesor, ¿sabes qué? he decidido eliminar. Entonces, cuando tú eliminas, por ejemplo, esta este valor faltante, lo que estás haciendo es esto, eliminar todo esto, ¿no? Eliminarías él, eliminaría él, eliminaría él y eliminaría él. el impacto que tú estás
36:34
Speaker A
generando ¿no? Entonces, eliminar es una opción, pero hay que evaluarlo muy bien ¿no? Porque cuando tú cuando tú dices eliminar, no es que eliminas solamente él, estás eliminando la fila literalmente.
36:54
Speaker A
Sin embargo, estás afectando variables que sí tienen información, ¿no? Entonces, hay que tener mucho cuidado en esa parte.
37:05
Speaker A
Entonces se recomienda siempre la imputación de datos, ¿no? Muy bien. Entonces nuestro objetivo va a ser reemplazar estos valores faltantes a con unas técnicas eh que se conocen. Ya.
37:21
Speaker A
Acá voy a crear una copia de la base de datos para ver el impacto que tiene el el valor estimado. Ya.
37:28
Speaker A
Por ejemplo, para variables categóricas, comúnmente se usa la moda, ¿no? Para varias numéricas lo más sencillo es la media, ¿no? Eso es o la mediana, según sea el caso.
37:43
Speaker A
Entonces, el R no tiene una función para calcular la moda, jóvenes. Es decir, no hay una librería que calcule la moda, ¿no? Pero nosotros podemos crear nuestra propia función.
37:58
Speaker A
R te permite crear tus propias funciones. No, no hemos visto esa parte. Vamos a tratar de ver a ver si en algún momento cómo crear funciones. Ya, ya se creó la función moda y esto es la, como quien dice, la estructura de una
38:13
Speaker A
función ¿no? Entiéndase como moda, jóvenes, al valor que más se repite en un conjunto de datos. Es un término sencillo, no es nada complicado. Ya, eso es lo que he dicho en código. Es esto, esta función.
38:31
Speaker A
Ya está. Ahora, una vez que ya tengo la función moda, la función min existe, la función median existe, la función moda ahora ya existe porque yo lo acabo de crear.
38:43
Speaker A
Entonces, a esta data que está acá con valores faltantes, yo voy a hacer lo siguiente.
38:51
Speaker A
Mute, puedes el mutate lo puedes aplicar sobre la misma variable que ya existe, no hay problema. O también puedes crear nuevas variables, ¿no? Acá digo lo siguiente.
39:02
Speaker A
La variable dat if else es una función condicional, algo así como el si del Excel.
39:10
Speaker A
Si cumple, entonces esto, caso contrario, esto ya es en R. Ya dice si si son valores faltantes de la edad, de la variable edad, reemplázalo por la media.
39:27
Speaker A
Si no es un valor faltante, que quede el mismo valor real de la variable edad.
39:32
Speaker A
Lo mismo para ingreso y lo mismo para sexo. ¿Qué es lo que voy a hacer? Simplemente ejecuto ¿no?
39:41
Speaker A
Listo. Si me voy a mi data, miren, jones, ya ha sido imputado, ¿no? Ahí está el valor imputado.
39:54
Speaker A
El valor imputado. Ya está. ¿Se dan cuenta? La imputación de la variable edad fue con la con la media. para la variable ingreso con la mediana, para la variable de sexo con la moda, ¿no?
40:11
Speaker A
Entonces ya tienes una data completa, ¿no? Claro, acá faltaría redondear a al máximo entero, ¿no? 36 para que no tenga esos decimales.
40:24
Speaker A
Eso es el proceso de imputación de datos, es decir, mediante una técnica apropiada estimar el valor faltante, ¿no?
40:34
Speaker A
Esta lo esto que acabamos de ver, jóvenes, la estimación basado en la media mediana o moda, es la estimación o imputación simple que se conoce, es la imputación más sencilla que existe.
40:47
Speaker A
Existen otros más sofisticados, por ejemplo, basado en métodos multivariados. No vamos a entrar a la parte teórica porque es un poco pesadito.
40:58
Speaker A
La librería MA, jóvenes, es una librería que se basa en imputación múltiple. Ya hay bastante matemática detrás.
41:10
Speaker A
¿Cómo funciona esto? Por ejemplo, voy a crear mi data, mi nueva data BDM. Así lo he creado yo. Ya. Acá tengo mis valores faltantes, acá tengo mis valores faltantes.
41:25
Speaker A
Entonces, mi objetivo va a ser imputar esos valores faltantes. Ya me olvido de la lógica de la eliminación, esas cosas. Ya. Entonces, cargo esta librería y simplemente hago lo siguiente.
41:40
Speaker A
Defino mi objeto de imputación, llamo a la función mais, la data. Esto es una un argumento del de la función mais que te permite hacer réplicas.
41:56
Speaker A
En otras palabras, para un mismo valor faltante va a generar cinco imputaciones o cinco estimaciones.
42:02
Speaker A
Al final lo que tengo que hacer un agregado de todas las estimaciones para tener la estimación final, ¿no?
42:10
Speaker A
Este método es qué tipo de método de estimación voy a usar. Esta función má tiene un montón de métodos para estimación o para imputación de datos.
42:21
Speaker A
Y esto es la semilla de aleatorización, ¿no? Por ejemplo, si ustedes van a la opción ayuda de la librería mais, por ejemplo, esta librería sí es un mundo. Ah, es un mundo, jóvenes. Miren, imputación de datos basado en cadena de
42:42
Speaker A
ecuaciones, es decir, su teoría es fuerte de esta librería. bastante cálculo numérico, ¿no? Y acá hay métodos que existen, ¿no?
42:56
Speaker A
Hay modelos probabilísticos, modelos de regresión logística, modelos de regresión polinomiales y así, ¿no? Toda la teoría que desean saber, pero es un modelo muy muy sofisticado.
43:13
Speaker A
Miren todos los autores que lo han estudiado. Muy bien. Vamos a verlo desde un punto de vista más práctico, ¿no? ¿Cómo se usa? Simplemente le ha todo lo que ustedes desean, ¿no? Miren todo lo que va a correr. Ya está.
43:29
Speaker A
Y ahora lo dices, "Oye, quiero que completes mi data." Lo único que vas a hacer es simplemente eso, te vas a BD completa y miren jóvenes, las estimaciones ya están completas, ¿no?
43:47
Speaker A
A diferencia de la media mediana ya te da el valor exacto, no te da con decimales.
43:54
Speaker A
Miren, esto era con eh con imputación usando media. Luis, entonces sí, adelante para yo pueda entender. Vamos a ver. M significa el número de interacciones que está haciendo.
44:13
Speaker A
Sí, yo puedo modificar esa M. Claro, pero hay que tener cuidado cuando tú datas grande.
44:22
Speaker A
Hablemos pues de, no sé, 100,000 registros. Sí. No, no es lógico que si la si la data grande va a tardar un tiempo.
44:29
Speaker A
Va demar. Claro, va a demorar mucho. Y el método, bueno, uno lo analiza. La semilla también se puede, o sea, lo que estamos diciendo es que interactúe cinco veces una semilla. O sea, es literalmente como sacar 500 muestras de
44:43
Speaker A
tamaño. Literal, literal. Eso es. La semilla es para que a todos nos haga el mismo resultado.
44:51
Speaker A
Ajá. Sí. Es una es para replicar eh imputaciones para para que los resultados sean comparables con todos nosotros, ¿no? Pero ustedes pueden cambiar la semilla, esto no afecta en nada.
45:07
Speaker A
Eso es. Entonces, esta librería es las mejores que existe para imputación de datos, pero si tu data es grande, el costo computacional es terrible, jóvenes, es terrible, ¿no? Entonces, pero para datas pequeñas no se sienten.
45:25
Speaker A
Esta data pues es chiquita, tienes como ocho, ocho registros, por eso no lo sientes, ¿no? Pero ya cuando tienes 100,000 para arriba ya como que demora un par de minutos, ¿no?
45:36
Speaker A
Muy bien. Si les interesa este mundo, la imputación de datos jóvenes, pueden explorar la librería mais y así hay un montón. Por ejemplo, hay otra técnica basado en cada vecinos cercanos.
45:51
Speaker A
Esta esta es una idea super interesante. Miren, KNN, seguramente han escuchado que vecinos cercanos.
45:59
Speaker A
Algo así. Miren, imaginemos que tengo algo así, ¿no? Valores conocidos. y tengo un valor faltante por acá, ¿no?
46:16
Speaker A
Ese valor faltante se va a estimar en base al vecinos próximo, ¿no? Como un promedio y se obtiene ese valor, ¿no? Así funciona cada vecino cercano y eso se basa en distancia, ¿no? ¿Cómo sé que este puntito es más cerca que a
46:36
Speaker A
estas observaciones por las distancias euclidianas, no? Entonces, si la distancia es pequeña implica que esas observaciones son cercanas. Si escojo tres vecinos cercanos, entonces tendría que elegir aquellas observaciones que están más próximos de mí, ¿no? Los tres primeros.
46:52
Speaker A
A eso se refieran, se basan en proximidades y estos son los que usan los los INISI de todos los países, ¿no? Por ejemplo, el Dane de Colombia, el INE de Chile, el INEGI de México, el INEI de Perú y
47:06
Speaker A
muchos INEIS usan eso, ¿no? Por ejemplo, cuando hacen sus sus encuestas de hogares, supongamos que esto es una un grupo de de viviendas, ¿no? Pues en esta vivienda registraron pues que el hogar no tiene agua de y luz.
47:23
Speaker A
Acá tampoco no tiene agua de save ni luz. Acá tampoco no tiene agua de saben ni luz, pero imaginemos que hay una vivienda que se olvidaron de encuestar.
47:35
Speaker A
Entonces, ¿ustedes creen que van a ir nuevamente a recoger los datos? No. ¿Por qué? Porque si sus vecinos no tienen los servicios, este hogar es más probable que tampoco tengan los servicios ¿no?
47:47
Speaker A
Entonces hicieron por proximidades. Entonces usan dos viviendas, tres viviendas, cuatro viviendas, aunque la probabilidad indiquen que él no tiene los servicios, pero claro, pero hay un sesgo porque yo estoy literalmente asumiendo por ese procedimiento de que no lo
48:05
Speaker A
tienen, que era lo que decía el compañero ahorita que es complicado realmente y es cierto, es muy difícil.
48:12
Speaker A
Claro, estos casos se aplican en los lugares que son de difícil acceso, ¿no? En zonas urbanos se puede recuperar la información, pero hay casos en el cual toma mucho tiempo desplazarse, ¿no? Ahí sí aplican generazo.
48:27
Speaker A
Sí. A esto le llaman imputación hckdeck, le dicen, ¿no? Que se basa en vecinos cercanos más que muy bien. Esa misma lógica se aplica en esta librería BIN, ¿no? Esta librería BIN también hace imputación de datos, pero basados en vecinos cercanos.
48:47
Speaker A
Imagínense acá voy a crear, bueno, acá voy a crear este objeto. Ahí está, miren, imagínense, ¿no?
48:58
Speaker A
Entonces, ¿qué hace, por ejemplo, esto acá? Este valor acá, ¿cuál es el valor más próximo?
49:06
Speaker A
Posiblemente los dos vecinos cercanos sean estos, ¿sí o no? Y la estimación sea el promedio de estos dos.
49:14
Speaker A
Quizás para él también estos sean sus vecinos cercanos y la estimación sea el promedio de los dos, ¿no?
49:21
Speaker A
Pero este algoritmo no es que hace eso, sino prueba todas las distancias posibles, algo así, ¿no? Yo estoy acá y acá están mis vecinos, ¿no?
49:32
Speaker A
¿Cuál es el más cercano a mí? Entonces, calcula la distancia creando de acá, calcula todas las distancias posibles, ¿no?
49:41
Speaker A
Y si me pide los vecinos más cercanos, entonces se va a quedar con la distancia más pequeña, ¿no?
49:46
Speaker A
O sea, si yo elijo K vecinos cercanos igual a tres, por ejemplo, va a elegir tres vecinos cercanos y va a ser el promedio y ese promedio su estimación.
49:56
Speaker A
Pero hace, imagina si tuvieran pues 100000 registros, ¿cuántas distancias va a calcular? un montón de distancias, ¿no? Entonces parece sencillo, pero es sencillo porque lo vemos con pocos datos ¿no?
50:11
Speaker A
Eso es la imputación basado en KNN. ¿Qué te piden? Simplemente la función KNN, le das la base de datos y le dices, "Oye, elígeme tres vecinos cercanos." No.
50:23
Speaker A
Y ejecuto y ya está la imputación. ¿Dónde está? No, BDKN, ¿no? Ahí está. ¿Dónde hizo la imputación? Acá, ¿no? ¿Dónde dice true? Acá hizo la imputación.
50:39
Speaker A
¿Dónde dice true? Acá hizo la imputación, ¿no? ¿Se dan cuenta? Entonces, hay varias técnicas de imputación de datos, jóvenes.
50:52
Speaker A
Varias técnicas. Y es un mundo, eh es la imputación de datos es un mundo. Tanto es así que en la universidad se ve un curso completo de imputación de datos.
51:03
Speaker A
Con eso le digo todo. Muy bien. Ya. Eso era lo que su compañero quería hacer un poquito. Y si desean explorar, el mundo es muy amplio para esta parte, ¿no? A ver, voy a conseguir un par de libros de imputación datos con R y les
51:20
Speaker A
comparto para que puedan profundizar un poco más esta parte. por favor. Muy bien, ahora sí tenemos que ir a nuestro tema del día de hoy, que por cierto les va a gustar bastante, que es visualización de datos.
51:35
Speaker A
Muchachos, vamos a ver librerías base LR y nos vamos a enfocar bastante en GGPL 2.
51:47
Speaker A
Acá sí vamos a usar la IA, pero al máximo nivel, jóvenes, pero primero hay que conocer un poco la teoría ¿no?
51:56
Speaker A
Muy bien. Visualización de datos, jóvenes. ¿Qué vamos a ver? Conceptos básicos. hablaremos de visualización de datos y algunas referencias bibliográficas, ¿no?
52:08
Speaker A
A ver, conceptos básicos. Bueno, ¿por qué es importante la visualización de los datos, jóvenes?
52:15
Speaker A
tan importantes que ahora hay un hay máster en Españas que sacan de inteligencia y negocios, ¿no? Business intelligence ¿no?
52:24
Speaker A
Cómo se construye tableros de indicadores, dashboards, de todo un mundo jóvenes. Entonces, la visualización de datos, jóvenes, es la manera más sencilla de vender tu producto, ¿no? En este caso es tu trabajo de de análisis de datos.
52:41
Speaker A
¿Por qué? Porque un modelo tipo regresión o un modelo más complejo no se puede explicar en términos sencillos, ¿no?
52:51
Speaker A
Pero con gráficos es mucho más entendible ¿no? Entonces, los gráficos se usan pues para la representación gráfica de la información ¿no?
53:04
Speaker A
Y eso sirve pues para tomar decisiones, ¿no? puedes usar gráficos tradicionales, mapas. Entonces, el objetivo de estas de estos gráficos es pues facilitar, jóvenes, la comprensión de patrones, tendencias y relaciones que existen en los conjuntos de datos, ¿no?
53:28
Speaker A
Eh, generalmente los tableros de indicadores o los dashboard, por ejemplo, es para toma de decisiones, ¿no?
53:36
Speaker A
Pero detrás de todo eso está todo el proceso de análisis que has hecho, ¿no?
53:40
Speaker A
su manipulación de datos y todo para que den como resultado esos esos gráficos, ¿no?
53:55
Speaker A
Entonces es todo un arte hacer gráfico, jóvenes. A veces uno piensa que es correr un código y listo, ¿no? Pero tu gráfico tiene que ser entendible, joven.
54:09
Speaker A
que lo vea así que sea un desde una persona que no tiene experiencia en datos lo puede entender, ¿no?
54:17
Speaker A
Eso es el objetivo de los gráficos, ¿no? Por ejemplo, un gráfico condensa mucha información. Tú puedes tener, por ejemplo, no sé, 100,000 registros eh de tus trabajadores en una empresa y si tú lo haces una un gráfico de barras por
54:35
Speaker A
estado civil, te resume esos 100,000 registros en un solo gráfico pequeñito, que es mucho más informativo.
54:44
Speaker A
Ya puedes saber cuántos son casados, cuántos son solteros, cuántos son divorciados. No condensa mucha información.
54:56
Speaker A
Puedes contar historias con los datos. Sí. Eh, si estás trabajando para una empresa, por ejemplo, no sé, hablemos de educación, por ejemplo, entonces tú con gráficos puedes caracterizar a tu sector educación, ¿no?
55:12
Speaker A
Por ejemplo, estudiantes por sexo, por grupo de edad, lugar de procedencia y un montón de cosas más, literal.
55:22
Speaker A
puedes contar historias con los datos, ¿no? Evidenciar nuestro punto de vista, claro, es una forma de mostrar pues eh avances, ¿no? Por ejemplo, si estamos bien en a nivel empresarial, quizás hemos mejorado o no ciertos indicadores y todo ello, ¿no? En otras
55:45
Speaker A
palabras, jóvenes, la visualización de datos es muy útil en, yo diría en todo, ¿no?
55:52
Speaker A
Pero el problema es que cuando hablamos de visualización de datos, todo el mundo piensa pues en grafiquitos de barras, los clásicos, ¿no? Estos grafiquitos son sencillos y son útiles, ¿correcto?
56:06
Speaker A
Pero ahora hay más más herramientas, ¿no? Hay gráficos de densidad, gráficos en 3D, mapas en 3D, graficar funciones matemáticas. Muchos, muchos piensan que graficar una función matemática no es informativa, al contrario, es muy informativa porque casi toda la vida real se modela
56:31
Speaker A
matemáticamente. ¿Se dan cuenta? Imagínate ver la distribución de la esperanza vía de una población, modelar el crecimiento bacteriano, por ejemplo, todas esas cosas se pueden modelar, por ende también se pueden graficar, ¿no?
56:50
Speaker A
Entonces, eso es lo interesante, no nos cerremos solamente a los gráficos estadísticos, podemos hacer todo tipo de visualización de datos, matemática, física, economía. En economía, por ejemplo, el curva, la oferta de la demanda.
57:04
Speaker A
Hay un hay una intersección, ¿no? El famoso punto de equilibrio, por ejemplo, también se puede graficar con R, ¿no?
57:12
Speaker A
Todos esos gráficos son informativos, ¿no? He ahí la importancia de tener un una buena herramienta de visualización de datos.
57:23
Speaker A
Entonces, ¿para qué sirve entonces la visualización de los datos, jóvenes? Facilita el análisis, ¿correcto?
57:33
Speaker A
Identifica tendencias y patrones. Sí. Mejora la toma de decisiones. Correcto. Esto es lo mejor que existe.
57:44
Speaker A
Tu decisión ya no se basa en solo tu expertiza, sino se basa también en datos, ¿no?
57:53
Speaker A
Entonces con la visualización de los datos, jóvenes le estás dando valor a tus datos.
58:00
Speaker A
tu tu toma de decisión va a ser más eficiente ¿no? Los gráficos es una manera de comunicar la información de manera efectiva. Sí, es una manera efectiva y sencilla, jóvenes.
58:14
Speaker A
Optimiza procesos. Claro que sí. Gracias a tus gráficos de control o tus famosos dashboard o tablero indicadores, tú puedes monitorear, jóvenes.
58:27
Speaker A
Eso es. Eso es la utilidad de las herramientas de visualización de datos, ¿no? Es decir, es útil, Juen, muy útil, ¿no?
58:40
Speaker A
Los gráficos o los ejemplos de visualización más común, jóvenes, como siempre les he dicho ¿no?
58:50
Speaker A
Cuando hablamos de visualización de datos, casi siempre hablamos de gráficos estadísticos. Gráfico de barras, gráfico de líneas, mapa de calor, que es interesante, diagrama de dispersión, dashboard interactivos, pero en sí visualización de datos, jóvenes, es todo lo que tú puedes representar
59:12
Speaker A
visualmente sobre un fenómeno o un evento, por ejemplo, crecimientos poblacionales bacterianos, eh inclusive el mismo fenómeno del COVID, ¿no? Los fallecidos de cosas. Entonces, todo se puede representar gráficamente y eso es mucho más informativo, ¿no?
59:34
Speaker A
Entonces, nosotros no nos vamos a enfocar netamente en los gráficos estadísticos, sino también vamos a ver cosas matemáticas, si es posible, cosas de economía y física también. Eh, muy bien. Para todo lo que hemos mencionado, Ribrería más, mejor dicho,
59:51
Speaker A
Rengaje programación. Ideal para gráficos, ideal para todo tipo de visualización de datos. Comentarles que tiene cuatro librerías potentes.
60:07
Speaker A
G plot, plotly, lais y shiny. No, el mejor G Plot. Los demás también son buenos, no hay que no hay que quitarles mérito, pero G Plot Jóvenes se lleva el premio mayor por su lógica de hacer gráfico. Su sintaxis es sencilla,
60:30
Speaker A
es como hacer sumas. Ya les voy a explicar, ¿no? Entonces, de todos los paquetes que existe, ah, también tiene funciones base, ¿no? Para hacer gráficos es tiene funciones base.
60:41
Speaker A
Y esto nosotros lo vamos a ver tamb Pero de las librerías especializadas nos vamos a enfocar en Gigiplot 2. Jóvenes.
60:51
Speaker A
Acá le vamos a dar fuerza. Los demás también son buenos, jóvenes, no le quito mérito, pero es el premio mayor, como se dice, ¿no?
61:06
Speaker A
Muy bien. A ver, ahora vamos a ver lo siguiente. Entonces, enfoquémonos en la visualización de datos usando funciones básicas del R, es decir, funciones base, ya para entrar con todo a lo que es GG plot, ¿no?
61:25
Speaker A
Muy bien, regresemos un poquito a nuestro Voy a abrir un R. Vamos a hacer algunos ensayos, jóvenes. Ya no abran acá un script por acá.
61:41
Speaker A
Y por acá voy a poner BD igual a Iris, ya una data que ya existe, ¿no?
61:46
Speaker A
Miren, ya creé mi data, ¿no? Muy bien. ¿Cómo se hace un gráfico de cajas en R usando función base?
61:59
Speaker A
La función se llama box plot. Jóvenes, un gráfico de cajas es algo así, ¿no? Si se acordarán, miren, algo así, ¿no?
62:17
Speaker A
Y por acá está la mediana, ¿no? Es un gráfico de caja. Si por acá hay valores que escapan de los límites superiores y límites inferiores, son valores atípicos, ¿no? Eso nos han enseñado ya R tiene funciones base que hacen este
62:34
Speaker A
tipo de gráficos, ¿no? Y se hace con la función boxplot. ¿Qué necesitas? Necesitas una variable, pero de la base de datos. No voy a usar cpal.
62:47
Speaker A
Y listo, se acabó. Ahí está. funciones base del R para hacer gráficos ¿no? Hasta ahí quedó claro, muchachos. A ver, yo creo que sí, ¿no?
63:13
Speaker A
Poco a poco vamos a aprender funciones, ¿no? Boxplop, diagrama de caja. Pero ustedes dirán, "Profesor, pero se ve muy triste el gráfico, está es color gris sin vida, ¿no? Y acá ya vienen las cositas, ¿no? Si pongo por acá, por
63:27
Speaker A
ejemplo, le doy coma y acá le puedo agregar la el argumento call de color, ¿no? Entonces, acá le voy a poner lo siguiente. Quiero que sea el color, eh, ah, bueno, para las chicas, color rosado. Ya, ahí está.
63:44
Speaker A
Sí. Entonces, lo que tengo que hacer es ejecutar y acá quedó rosado, ¿no? Color rosado.
63:51
Speaker A
Profesor, sigue quedando triste, le falta un título. Muy bien. Entonces, ¿qué es lo que tengo que hacer?
63:58
Speaker A
Le voy a agregar pues el título. El argumento se llama my. Entonces acá voy a poner diagrama o gráfico de caja.
64:19
Speaker A
Muy bien. Entonces voy a correr todo, ¿no? Ahora entonces el gráfico ya queda mucho más simpático, ¿no, profesor? Y todas esas cosas que puedo agregar, ¿dónde lo voy a averiguar?
64:32
Speaker A
Usando la ayuda de la función boxload. Help. Y acá está todo lo que necesitas o quieras saber.
64:43
Speaker A
Nombre a los ejes, separadores, miren, todas las cosas que tú puedes agregar. ¿Se dan cuenta? Leyendas también puedes agregar. Increíble, ¿no?
65:00
Speaker A
Interesante ¿no? Muy bien. Eso es hacer gráficos base en R. Muy bien, muy bien. Entonces, ya saben que R también sirve para crear funciones bases, ¿no? A ver, ¿qué más quisiera verlo por acá? ¿Qué pasaría si hago esto,
65:33
Speaker A
profesor? Yo veo que acá tengo, puedo comparar gráfico de caja de la longitud de cepa lo diferenciado por especie.
65:43
Speaker A
Interesante ¿no? Claro que sí se puede, muchachos. Miren, vamos a ver por aquí. Acá le voy a poner gusanito. Hay un hay un símbolo gusanito, no sé cómo cómo le dicen. Tilde, creo.
65:58
Speaker A
Y acá le voy a poner lo mismo, pero acá le voy a poner especies.
66:05
Speaker A
¿Qué quiere decir esto, muchachos? Le voy a decir, "Oye, hazme un gráfico de cajas de la longitud del cépalo, pero diferenciado por especie." Si yo ejecuto esto, miren, jóvenes, miren lo que sostienen.
66:25
Speaker A
Igual ustedes dirán, "Profesor, está feo, le falta vida." Los demás, jóvenes, es simplemente agregarle más cositas. Por ejemplo, ¿qué le agrego acá, "Profe? Ya tengo tres cajas. Le debería agregar colores diferentes.
66:41
Speaker A
¿Qué pasaría si le doy call y le digo que oye, quiero que sea del color eh verde, por ejemplo, no?
66:51
Speaker A
Lo que me va a hacer es poner todo verde. Profesor, ¿y puedo ponerle color diferentes a cada especie? Claro que sí.
67:01
Speaker A
Para eso lo único que tienes que hacer, jóvenes, es en vez de poner un solo color agregar un vector de colores y decirle, "Para el primero quiero que sea azul, el segundo quiero que sea verde y el tercero quiero que sea rojo."
67:19
Speaker A
Y listo. Con eso se tiene todo. Estamos haciendo funciones base, funciones gráficos usando funciones bases del R, ¿ya?
67:33
Speaker A
Y después le agregas, ¿no? Hombre, todo lo que ustedes sean. ¿Se entendió hasta ahí más o menos cómo hacer gráficos con funciones de base?
67:45
Speaker A
Jóvenes, me avisan, por favor. Ya. Muy bien. Entonces es relativamente sencillo, ¿no? A les voy a pasar esto por el chat para que puedan ahí replicar si es que quisieran. Ya. Ahí está.
68:06
Speaker A
Muy bien. Eso es hacer funciones básicos. Ahora en el PPT que le estoy mostrando ya se va a ver más cosas, ¿no? Por ejemplo, ¿qué es lo que les he preparado para ustedes?
68:26
Speaker A
Gráfico de K. ¿Se dan cuenta que he agregado por especie? Le dado un título, miren que miren todo lo que he agregado. Le he agregado un título ahí, nombre al eje X, nombre al eje Yores diferenciados, ¿no? Miren.
68:50
Speaker A
Y este código acá te proporciona este gráfico acá. ya mucho más estético, ¿no? Pero ya hemos visto desde lo más básico, jóvenes, cómo se crea hasta darle más más vida a los gráficos, ¿no? Y este tipo de gráficos también son estéticos
69:07
Speaker A
para los para las tesis, para los informes o para los papers, ¿no? Es tiene su estética, no está tan feo, ¿no?
69:18
Speaker A
Entonces, para ver si funciona este código, simplemente vamos a copiarlo. Yo ya les expliqué paso a paso cómo se crea sin tanta estética, ¿no? Pero ya que estamos acá, hay que copiar esto.
69:33
Speaker A
Lo copiamos a nuestro R por acá y simplemente ejecutamos, muchachos. Ahí está. ¿Se dan cuenta? colores más suaves. Yo le puse acá colores fuertes, ¿no? Mira, son más suaves, ¿no?
69:50
Speaker A
Sencillo ¿no? Gráfico de cajas, muchachos. Ahora, ¿qué otro gráfico hay, profesor? Hay un montón de gráficos que tiene el R, ¿no?
70:08
Speaker A
Por cierto, el gráfico de caja sirve para medir dispersión, ¿no? Aquella especie con caja más pequeña es menos dispersa, aquella especie con caja más grande es más dispersa, ¿no? Y estos valores, líneas oscuras en la parte central es la mediana de la variable,
70:27
Speaker A
¿no? Eso es. Y acá hay un valor atípico, miren. Entonces, en gráfico y cajas, muy aparte de de indicarte dispersión, su fuerte es identificación de valores atípicos, ¿no?
70:42
Speaker A
Eso es su utilidad más importante. Gráfico de dispersión. Los gráficos de dispersión, jóvenes, se usan para ver la relación entre dos variables numéricas y la función que hace ese proceso es plot.
71:01
Speaker A
Leas la primera variable numérica, la segunda variable numérica y listo, te genera tu gráfico de dispersión.
71:11
Speaker A
Lo demás es estética, muchachos. Es pura estética. Vamos a copiar esto y nos vamos a nuestro R que hemos abierto.
71:28
Speaker A
Miren, si solamente copian este pedacito acá, que por cierto este pedacito es la parte modular, yo diría.
71:38
Speaker A
Y si ejecutan ustedes es esto, ¿no? Claro. Feo y sin vida, ¿no? Pero si ya le dan título, si ya le dan nombre al eje X, nombre al eje Y el color de los puntitos, ya se vuelve un poco más estético, ¿no?
71:54
Speaker A
Ahí está. Claro, ustedes también pueden cambiar. Ojo, los colores tienen que ser en inglés muchachos.
72:02
Speaker A
No le van a poner azul, no va a correr, ¿no? Y si quieren saber más cosas de esta función plot, simplemente se van a la ayuda, muchachos. No se olviden de ello. Ya es la primera función base.
72:18
Speaker A
Ahí está, ¿no? Ah, interesante. Mira, también puedes agregar el argumento type, ¿no? Miren, para que no esté uy, para que no esté el círculo vacío, ¿no?
72:41
Speaker A
Por ejemplo, los puntitos están vacíos, ¿no? Se dan cuenta miren, también creo que sí le puedes dar contenido. A, vamos a ver.
72:55
Speaker A
Ah, no, al parecer es puedes cambiar por, a ver, a ver, a ver. Por símbolos, ¿no?
73:07
Speaker A
A ver, ¿funcionará? Vamos a ver. No, vamos a ver. Ah, puedes cambiar su forma de presentación de los puntos, pero no tiene sentido. Mejor que quede con puntitos P de puntos, ¿no? Como es un gráfico de experión, entonces te queda
73:31
Speaker A
mejor que sean puntitos, ¿no? Y ahí pueden explorar muchas más cosas, muchachos. Entonces, de esa manera se hace un gráfico de dispersión útil para comparar para ver relaciones entre dos variables numéricas, ¿no? Es más, este es el paso
73:55
Speaker A
previo para hacer una regresión lineal, ¿no? Si tú observas que hay un comportamiento lineal entre los puntos, entonces puedes trazar una recta de regresión ¿no?
74:07
Speaker A
Y acá viene lo más interesante, muchachos. Profesor, también se puede graficar funciones matemáticas. C. Seguramente ustedes han escuchado las funciones trigonométricas ¿no?
74:23
Speaker A
Por ejemplo, la función seno, coseno, tangente y todo. Bello, ¿no? Déjenme decirle, muchachos, que también se puede graficar en R y obviamente sale pues en par de línea, ¿no?
74:41
Speaker A
Pero acá hay que recordar algo interesante. una función seno de x. Para tú graficarlo, necesitas considerar valores para x y listo.
74:57
Speaker A
En la definición de la trigonometría, jóvenes, x puede tomar cualquier valor real y y puede variar simplemente de -1 a 1.
75:08
Speaker A
Eso dice la teoría de la trigonometría, ¿no? Entonces, como x puede tomar cualquier valor real, yo lo puedo decir, oye, ya pues que tome de -10 a 10, algo así, ¿no?
75:22
Speaker A
O que tome de menos -50 a 50 a razón de 0 pun, o sea, que varios valores de tal manera que me permita graficar, ¿no?
75:31
Speaker A
La función seno más o menos es así, ¿no? La idea vamos a replicar ello, ¿no?
75:40
Speaker A
Muy bien. Entonces, por acá vamos a hacer algo básico. Necesito darle valores a x. Acá voy a poner ya graficar, por ejemplo, el seno de la de x, ¿no? Que es una función trigonométrica.
75:56
Speaker A
Existe una función llamado sec, jóvenes, que dice, "Oye, quiero valores de -10 a 10 a razón de 0 pun 05.
76:12
Speaker A
Entonces va a crearte todos los valores posibles de -10 a 10 a razón de 0.05.
76:21
Speaker A
Entonces, si yo ejecuto, por ejemplo, voy a copiar este pedacito acá y le voy a agregar acá. Mira, ahí está todos los valores que calculado.
76:32
Speaker A
Entonces, con esto he simulado un conjunto de valores para x, ¿no? Ahora, profesor, ¿qué necesito?
76:41
Speaker A
La función seno de x en r se llama sin el seno de cada valorito que es simulado acá o ejecuto también. Ya está. Acá están todos los y calculados.
76:56
Speaker A
Entonces, como tengo y y x, simplemente hago un plot de x y ahí tendría mi función mi función seno.
77:13
Speaker A
Profesor, pero ¿por qué sale puntito si no me sale una recta o una curva lisa?
77:19
Speaker A
Porque, jóvenes, aún te falta agregarle más cositas. Por ejemplo, decirle, "Oye, type o tipo, ¿no? El tipo de de punto, ¿no?
77:31
Speaker A
Que debe ser debe ser L, ¿no? Vamos a ver. Ahí está. Ya es una curva. Lisa, profesor. ¿Qué más se puede agregar? Le puedes agregar color, ¿no?
77:49
Speaker A
Y acá le digo que sea azul. Ya van las cosas un poco más interesantes, ¿no? Ahí está.
77:58
Speaker A
Entonces, jóvenes, graficar una función matemática no es nada sencillo, mejor dicho, no es nada difícil, pero hay que tener en cuenta algunas cositas básicas, ¿no? Cómo generar los valores y el plot es en sí.
78:14
Speaker A
Y esto sería la función seno de x, profesor. Y se puede agregar más más divisiones. Claro, tendrías que darle valores más chiquitos, ¿no? Pero eso es la función seno.
78:29
Speaker A
¿Se acuerdarán cuando se veían en los primeros siglos de la universidad, no? Muy bien.
78:36
Speaker A
Pero acá yo he agregado más cositas, ¿no? A, voy a copiar todo esto acá.
78:44
Speaker A
Y simplemente le voy a pegar al R por acá. Entonces lo que voy a hacer es correr.
78:52
Speaker A
Ahí está. Casi creo puedo cambiarle el color, no hay problema. Le voy a poner rojo. Ahí está. J, no. Gráfico y la función seno de x.
79:03
Speaker A
Eso sería mi función matemática grafica. sencillo ¿no? Entonces, si han entendido esto, muchachos, ustedes ya están en condiciones para graficar cualquier función matemática que se encuentran los libros que tienen por ahí.
79:23
Speaker A
Ya están en condiciones graficales. Por ejemplo, el siguiente ejemplo ya es un poco más elaborado.
79:31
Speaker A
Miren, ¿alguien puede graficar eso? Por ejemplo, el profesor en les va a decir no supongamos ¿no?
79:41
Speaker A
Grafique la siguiente función a mano x por seno de x². Una cosa de locos, ¿no? ¿Quién en su sano juicio va a graficar a mano esto?
80:00
Speaker A
¿Se imagina? Terrible, ¿no? Ahora lo vemos de loco, pero antes había que hacerlo. Claro, antes te hacía, pues tenías, hay varias varios métodos, ¿no?
80:11
Speaker A
Sí sí pero ahora miren con el R sale, tienen que saber matemática, nivel avanzado, ¿no? ¿Qué hacen? Definen su valor de x, ese x lo evalúan en la función, que es esto, por cierto, usa la función plot y se acabó.
80:33
Speaker A
Es la misma secuencia que hemos hecho el ejemplo anterior. No hay nada nuevo. Lo único nuevo es definir, hacer el cálculo de la función.
80:43
Speaker A
Voy a copiar esto también acá. Pues para que vean lo sencillo que dice el gráfico muchachos.
80:49
Speaker A
Por eso ustedes van a salir expertos en graficar funciones de todo tipo. Ahí está, ¿no? Acá defino los valores de x de -10 a 10. Ustedes pueden elegir cualquier orden, cualquier otro límite, no hay problema, muchachos. Eso es lo de
81:04
Speaker A
menos. Como es como x puede tomar cualquier valor real, puede ser cualquier límite, ¿no? Miren, vamos a ver.
81:14
Speaker A
Uy, acá hay que copiar bien. Ya. Acá se del PDF. Ahí está. Es esto, ¿no?
81:22
Speaker A
El el o doble asterisco, como desean, ¿no? No hay problema, no se complica. Ahí está, muchachos. ¿Qué opinan?
81:32
Speaker A
Entonces, pues no hemos ni un segundo nos hemos demorado en hacer ese graf. Y acá ustedes pueden cambiar el color, ¿no? Por ejemplo, profesor, no me gusta rojo, azul, ¿no?
81:45
Speaker A
Ahí está, ahí está. Mir, una función terrible. No sé qué qué representará en en la física o o pero algo debe debe debe modelar eso, ¿no? Parece algo así el comportamiento de los sonidos, ¿no? Puede ser por ahí,
82:03
Speaker A
por ahí que vaya. Sí, y es una función bastante interesante, de hecho. Sí, ella sí es una función que solamente tiene límite.
82:13
Speaker A
Bueno, eh el límite a simple vista en en x = 0. Con los demás valores se ve que que va alternando.
82:21
Speaker A
Sí, exacto. Miren ustedes va a modelar amortiguamiento, un resorte cosa. Puede ser, puede ser. Ya quizás un físico, un ingeniero pueda pueda encontrarle utilidad, ¿no?
82:31
Speaker A
Puede representar lo que es la ondulación, la propagación del sonido. Excelente. También como también la suma de la misma. Eh, claro. Y a la misma vez esto se constituye como una matriz porque realmente obedece a ese criterio de que
82:50
Speaker A
como el sonido es una matriz puede darse que tengo una una oscilación eh puede esto es una oscilación armónica simple que se pueden sumar, o sea, por la derecha como vengo por la izquierda y y esta interseción se intercepta
83:11
Speaker A
en ese sentido. Sí, es verdad. Entonces, muchachos, se dan cuenta que ustedes pueden graficar todo, pero acá estamos en dos dimensiones, ¿no, profesor? ¿Y si tengo x, y, Z? ¿Se podrá? Vamos a ver. A ver, vamos a probar otra función. Ya, ya que estamos
83:31
Speaker A
con esto. A ver, ¿qué pasaría si acá le modifico al cubo y acá al cuadrado? Vamos a ver. Ya, mire. Es un ejemplo, no más, muchachos. No hay que explorar, ya que estamos acá, hay que explorar todo.
83:48
Speaker A
Hay que explorar. Ya. ¿Qué pasaría? No, ¿qué pasaría? A ver, vamos a ver, ya que estamos acá, vamos a explorar un poquito.
84:10
Speaker A
Ya. A ver, vamos a ver acá. Voy a poner verde. Ya. A ver, vamos a ver qué sale ahí. Qué cosas feas. Ah, interesante. Parece que al ser de la misma familia los comportamientos están ahí interesante.
84:30
Speaker A
Voy a poner otro color. Ahí está. Miren. Interesante, ¿no? Eso sí parece un movimiento sísmico, ¿no?
84:40
Speaker A
Han visto esas esas maquinitas que registran. Interesante ¿no? Los mógrafos. Ah, ya está. Si nosotros graficamos eh el intervalo de -8 a -4, por ejemplo, se puede ver que hay una un periodo de repetición.
85:00
Speaker A
Mm correcto. O sea, en vez de poner de -10 a 10, es un espacio muy amplio de -8 a -4, por ejemplo. En ese caso, de esa yo hice otra, pero en ese caso podría ser de -9 hasta menos 3 por ahí y se podría ver
85:16
Speaker A
que existe una uno unos unos periodos de repetición. Claro. Ahí ahí pueden analizar mucho mejor, ¿no? Cuando le modifican el el dominio ahí.
85:27
Speaker A
Muy bien, ya tarea de ustedes buscar una función en algún libro y hacer el ejercicio. Ya. A ver, interesante, ¿no?
85:36
Speaker A
Y no estamos usando nada complicado, muchachos. profesor, quiero hacer gráficos en tres dimensiones. Por ejemplo, en la universidad siempre nos dejaban este ejercicio, ¿no? Grafique esto de acá, ¿no?
85:56
Speaker A
Entonces, acá ya no estamos en dos dimensiones, estamos en tres dimensiones. Esto es un paraboloide, ¿no?
86:04
Speaker A
Y también el R hace eso. Como voy a tener x y tanto que también toma valores reales, entonces primero simulo valores para x ¿no?
86:17
Speaker A
Luego para y defino mi función parábola, calculo el z, no es mejor dicho, el zaluado en estos dos, ¿no? En este caso, simplemente aplico la función a estos dos argumentos, ¿no? Para hacer gráfico de la superficie uso la función de
86:38
Speaker A
perspectiva, ¿no? Le doy x, y z y listo. Lo demás es estética. Nada más, nada más, muchachos. No tiene librerías, no tiene nada.
86:56
Speaker A
Es decir, si se cambia de función, lo único que se va a cambiar es qué cosa acá.
87:07
Speaker A
Acá se hace todos los cambios, ¿no? Sí, ahí se modifica la, bueno, cuádrica se llama eso. Se modifica esa función.
87:14
Speaker A
Claro. Acá se hace la modificación. Esto es simplemente para el título, ¿no? Muy bien. ¿Cómo se hace ese proceso, maestro? Disculpe, ahí donde usted señaló entre función x y no lleva nada entre ahí en entre x² y el paréntesis.
87:35
Speaker A
Claro, puedes dejarlo así o cerrarlo entre llave, cualquiera de los dos. Ah okay. Sí, pero funciona. Ambos funcionan.
87:43
Speaker A
Sí, ya, ya. Perfecto. Sí. Lo formal es cerrar entre llave porque toda función tiene un cuerpo y se cierra, ¿no? Pero si no pones nada también el R sobre entiende que la función parábola hace es esto de acá,
87:57
Speaker A
¿no? Sí, es ya algunos artificios del R que tiene, ¿no? Vamos a copiar esto.
88:08
Speaker A
Profe, ¿de dónde sacaste ese dark? Darklight Green. A ver, a ver, a ver. No te escuché muy bien. ¿Cuál es la duda, profe? Ese es el el color.
88:22
Speaker A
¿De dónde? O sea, una librería o dónde puedo sacar esos colores? Sí, eso se hace en el buscador. Vamos a buscar acá ahí, por ejemplo, vamos a buscar esto en ya tienes que buscarnos en en los libros que existen, ¿no? Por
88:39
Speaker A
ejemplo, colores en R, ¿no? Si van acá en R hay paletas de colores, ¿no?
88:47
Speaker A
Ahí está. Miren qué color quieres que sea superficie, ¿no? Ahí está. Y ustedes eligen o bien el nombre o bien el código, cualquiera de los dos.
89:00
Speaker A
Yo escogí uno de esos por ahí, no no me acuerdo dónde. Ahí les comparto esa esa página de la paleta de colores. Eh, gracias profe.
89:08
Speaker A
Sí, eso es ya esa es estética, como se dice, no es otra cosa. Voy a copiar esto y le pegamos acá.
89:22
Speaker A
Ahí está. Lo único que tengo que hacer es a eso tengo que corregir, ¿no? Porque los cachitos cuando estoy pegando el PDF no lo está reconociendo.
89:40
Speaker A
Listo. Ahí está, muchachos. Ahí está. No, miren cuáles fueron los que usted modificó, maestro.
89:51
Speaker A
Ah, no, cuando he pegado. Ajá. No, mire, nuevamente, nuevamente voy queda un espacio en el circunflejo se llama eso.
90:02
Speaker A
Esto de acá no me reconoce el el la potencia. Miren, tiene que ser así y está así. Eso hay que corregir.
90:13
Speaker A
Eso pasa cuando copiamos a veces del PDF, ¿no? Eso suele pasar. Muy bien, eso es su nuestro paraboloide, muchachos. Miren, ahí está.
90:27
Speaker A
Interesante ¿no? Ya. Pregunta del millón. ¿Ustedes han graficado esta función? ¿Y qué pasa, profesor, si yo les pido que grafiquen esto de acá?
90:51
Speaker A
¿Qué forma tendrá eso? ¿Qué creen? La raíz cuadrada de esa suma debe ser lo mismo, pero horizontal.
91:03
Speaker A
Ay, ay, ay. Ahora vamos a ver. Vamos los desvíos serían la parte superior. Ah, puede ser, ¿no? Toda la parte positiva, ¿no? A ver.
91:15
Speaker A
Entonces, pero también toma pero también toma la parte negativa también porque está al cuadrado y sale positivo y la raíz va a seguir siendo va a ser hiperboroide se llama como dos igual que esa, pero para los dos extremos.
91:28
Speaker A
A ver, vamos a ver. Entonces, ¿por qué hago ese ejercicio? Porque se dan cuenta que la lógica es la misma para cualquier gráfico, ¿no? Una vez que que haga un gráfico, los demás están listos, muchachos.
91:44
Speaker A
SQRT se llama la función para raíz cuadrada. ¿Ya? Entonces, ¿qué es lo que tiene que hacer? Simplemente a esto de acá le llaman así, ¿no? SQRT, ¿no?
92:01
Speaker A
Listo. Y acá también voy a copiar esto acá. Acá esta expresión es esta, ¿no?
92:07
Speaker A
Miren esto que hice acá es simplemente para esto, ya es una para darle el nombre de la de la función nada más.
92:20
Speaker A
Entonces también lo vamos a actualizar ahí. Entonces acá también voy a actualizar esto y voy a poner a ver dentro del de la paleta de colores vamos a cambiar por otro color. Ya que hemos visto eso, a ver, vamos a elegir uno que sea
92:38
Speaker A
interesante. A ver, pueden usar el nombre o el código. Ah, no, no, no se preocupen.
92:47
Speaker A
Gold dos. Ah, ya. Gold dos. Acá el nombre, no sé, no, debe tener un nombre raro, ¿no? Ya. Vamos a probar.
93:03
Speaker A
Ay, ay, ay, muchachos. Ahí está. Miren mi expresión, muchachos. Esa función expresión reconoce la la función sqrt, ¿no?
93:19
Speaker A
Ahí está nuestro gráfico. Como que no se está viendo muy bien esa espacio acá, ¿no? Hay que darle más valores. Ya. - 10 a 10. Eh, a ver, vamos a ver si es que con eso se puede dar alguna forma mucho más
93:36
Speaker A
interesante. Mm. No. A ver, ¿qué pasaría si en vez de de datos yo le doy una razón?
93:56
Speaker A
A ver, vamos a ver. Vamos a ver, muchachos. A ver, quiero ver si se puede dar una forma mucho más interesante para visualizar.
94:14
Speaker A
A ver, mira, de -10 a 10 a razón de 0.01 hay un montón de valores y está haciendo un montón de cálculos. Está demorando.
94:21
Speaker A
Miren, ¿se dan cuenta? Por eso acá hay un stop. Miren cuando sale esto porque estaba haciendo los cálculos.
94:38
Speaker A
Vamos a esperar que termines ya. Eh, a ver, el gráfico no ha cambiado mucho ¿no?
94:50
Speaker A
Al parecer esa es la forma de esa superficie ¿no? Uy, se colgó mi PC.
95:03
Speaker A
A ver, vamos a esperar unos segundos. Creo que recién está haciendo el cambio, si es que no me A ver, vamos a ver.
95:18
Speaker A
Ahora hay más planos nada más. Creo que no hay cambios. No, parece que la gráfica es de superficie es esa más que todo.
95:29
Speaker A
No, no cambió mucho. Se mantiene. Sí. Pues lo que pasa es que hace más más densa la la nube de de de polvo, eh pues la la densidad mucho más entre punto es mucho más densa.
95:42
Speaker A
Sí. Entonces hay que no hay que dejarlo así más. Ya está, ¿no? A ver, quizás con 200 datas. Vamos a vamos a probar ya que estamos acá.
96:01
Speaker A
Ya mi R se colgó. A ver, vamos a esperar porque le estoy pidiendo que me haga operaciones simples y no me quiere hacer.
96:12
Speaker A
Vamos a limpiar esto. Claro, cuando le hemos dado muchos valores se ha se ha lenteado el R.
96:24
Speaker A
Ya. Entonces, muchachos, estamos aprendiendo cómo hacer eh gráfico de superficies ¿ya? Entonces, una vez que entiendan, ustedes pueden adaptarlo a cualquier gráfico, ¿no? Donde dice leng, maestro, le baja, porque esa es la cantidad de puntos que que usted le va a dar. Si usted le pone,
96:42
Speaker A
por ejemplo, 10, van a salir puntos más grandes, como los píxel, pero más grandes y más o menos se ve la forma, por lo menos para reducir cantidad de cálculo.
96:56
Speaker A
Sí, es verdad, es verdad. Claro, también hay que darle más datos para dar la forma de de la superficie también, nomme.
97:07
Speaker A
Eso eso es cuestión ya de de hacer ensayos, ¿no? Lo más importante es pues que ustedes pueden hacer gráficos interesantes ¿no?
97:17
Speaker A
Se colgó mi R, muchachos. Ah, ya. Muy bien, no hay problema. Vamos a vamos a continuar.
97:24
Speaker A
Sí, sí, vamos a continuar. A ver, ¿qué más tenemos? Ahora sí. Entonces, ya tenemos que hablar de visualización con GG plot, muchachos. Eh, muy bien. Entonces, tienen bastante para expar desde gráficos estadísticos clásicos hasta funciones matemáticas, ¿no?
97:44
Speaker A
Es decir, con la función de base del R también se puede hacer gráficos interesantes, pero necesitamos llevar esto a un nivel mucho más alto, como se dice, ¿no?
97:56
Speaker A
Para ello vamos a hablar de GG Plot, muchachos. G plot, una librería especializada para visualización de datos del R, ¿no?
98:07
Speaker A
Tanto es así que las revistas como BBC de Londres usan GGPL 2 para hacer sus gráficos de sus revistas, ¿no? De sus journals, por ejemplo, usan GG Plus 2, no solamente el BBC de Londres, también el Banco Mundial para sus reportes.
98:25
Speaker A
Usa R con GG Plot. ¿Por qué? Porque esta librería es supervátil. La calidad de tus gráficos va a depender ya de tu imaginación, ¿no? Pero nosotros vamos a explotar plot con IA, jóvenes, con chat GPT para darle mayor
98:46
Speaker A
sacarle mayor provecho, ¿no? Los gráficos de alto impacto, como se dice. Muy bien, jóvenes. El G Plot es una librería paquete, como lo dicen muchos.
98:58
Speaker A
para crear gráficos muy vistosos, ¿no? En 1999, Wilkinson jóvenes creó o publicó un libro llamado Gramática de Gráficos.
99:15
Speaker A
La gramática de gráficos es como la gramática que tenemos de de del castellano, por ejemplo, ¿no? Hay una sintaxis y todo ello, ¿no? G plot es una gramática de gráfico en el cual se basa en sumar elementos.
99:34
Speaker A
Es suma de elementos, en otras palabras. Muy bien. O que se conocen como capas, ¿no?
99:46
Speaker A
Por ejemplo, nosotros le vamos a proporcionar datos a GG Plot y le vamos a decir, "Oye, asigname tal cosa, mejórame la estética." En otras palabras, Gplot se va a encargar de cada uno de los detalles que puede existir en un gráfico. Color,
100:08
Speaker A
título leyenda ejes fuente citas, si es posible, formato, temas, estilos, todo lo que ustedes desean, hasta que su gráfico quede muy elegante, ¿no?
100:24
Speaker A
cosa que no se puede hacer con las funciones base, por más que quedan simpáticos, estéticos, más ya no se puede hacer. es muy limitado en COG y plot jóvenes no tienen límite jóvenes.
100:38
Speaker A
Eso lo es, eso es la diferencia, ¿no? Muy bien. Algo así, ¿no? Dig plus, esto es la gramática de los gráficos, como se dice, voy a tener eh temas, voy a tener geometrías, estilos.
100:58
Speaker A
Es como un artista que dibuja, ¿no? Y plot me da todas las herramientas que pueden que pueda yo necesitar y ya depende de mí en plasmar mi mejor gráfico, ¿no? Literal es como un como Bangó haciendo sus pinturas. Muchachos,
101:22
Speaker A
con GGPOT nos vamos a sentir a ese nivel. Vamos a crear nuestros gráficos. Si no nos gusta, podemos mejorarlo y mejorarlo y mejorarlo, ¿no? Y en ese proceso, pues vamos a usar chat GPT, jóvenes, para darle más más plus a
101:37
Speaker A
nuestros gráficos, ¿no? Tanto es así que después ya puedes crear tus plantillas, ¿no? Muy bien. Entonces, como GG Plot se basa en gramática, en una gramática de gráficos, quiere decir que Gplot es una gramática de gráficos, pero esa gramática es
102:01
Speaker A
como que yo usara diferentes herramientas hasta el punto que mi gráfico sea pues de alto nivel, ¿no? Esas gramáticas incluye, por ejemplo, una capa de datos, una capa de escalas, una capa de geometrías, una capa de estilos, una
102:22
Speaker A
capa de estadísticas, una capa de coordenadas, una capa de temas y muchas cosas más.
102:31
Speaker A
Se supone que un gráfico en GPL se construye usando estas capas. Cuando dice gramática y gráficos, no es más que sumar capas, de tal manera que en cada etapa tu gráfico es mucho más interesante, ¿no? Ese es el objetivo,
102:52
Speaker A
mejorar con cada etapa o con cada capa tus gráficos, ¿no? Cada capa tiene funcionalidades, ¿no? La capa geometría, por ejemplo, se va a encargar de qué tipo de gráfico quiero mostrar yo.
103:07
Speaker A
La capa de temas, por ejemplo, es la capa que se va a encargar de los colores y embellecerle gráfico, estilos.
103:15
Speaker A
Y así cada una de esas capas tiene su funcionalidad específica. En otras palabras, Jplot permite construir gráficos sumando capas. A eso le conocen como gramática de gráficos.
103:29
Speaker A
Y su lógica es sencilla, muchachos. cosa que no tiene las funciones bases. Las funciones bases tú le das los insumos y te das el gráfico, ¿no?
103:40
Speaker A
Muy bien. Gplot tiene su sintaxis propia ¿no? Efectivamente, ¿no? La idea central es pensar los gráficos como una sucesión de capas que se construye uno a la vez.
103:56
Speaker A
El operador que permite sumar capas es el operador suma, el operador más, ¿no? Suma de capas, operador más o la suma, ¿no?
104:09
Speaker A
Y el primer comando básico es el GG Plot. Este comando base o función base GG plot nos permite definir los datos y las variables ¿no?
104:23
Speaker A
A esta función es la que se tiene que sumar todas las capas, ¿no? Y esto es el famoso logo del paquete GP Plot 2, para que lo conozcan.
104:39
Speaker A
Muy bien. ¿Qué más tenemos por acá? algunos capas que vamos a encontrarnos frecuentemente. Por ejemplo, la geometría.
104:55
Speaker A
Hay una capa llamado geometría que indica el tipo de gráfico, ¿no? Si yo escojo geometría boxplot, esta geometría me va a permitir hacer un gráfico de cajas simple por la función boxplot.
105:12
Speaker A
Si yo elijo una geometría llamado point, esta geometría me va a permitir hacer gráficos de dispersión y así sucesivamente todas las geometrías que existen, ¿no? Line, gráfico de línea, call, gráfico de líneas también.
105:32
Speaker A
¿Qué otros capas existen? Por ejemplo, LAPS. Laps te va a servir para poner títulos a tus gráficos.
105:45
Speaker A
Tem te va a servir para cambiar de colores a tus gráficos y así para definir escalas, para hacer división de subconjuntos, etc. etc.
106:00
Speaker A
Es decir, tiene un montón de herramientas que te van a ser útiles, jóvenes, para crear tus gráficos, ¿no?
106:08
Speaker A
Estos son algunos. En el proceso vamos a ver muchos más. Yo no les pido que se memoricen todas esas cosas, no. Hay que aprender a hacer gráficos desde lo más sencillo hasta lo más complicado.
106:20
Speaker A
Ya lo más complicados ya vamos a usar un poco de IA, ¿no? Pero hay que entender cómo es que funciona GGPOT, cuál es esa filosofía que hay detrás, ¿no?
106:31
Speaker A
Hasta ahorita sabemos que es una suma de capas ¿no? Con eso nos basta, muchachos.
106:41
Speaker A
Por ejemplo, ¿cómo se crea un gráfico desde cero usando GG Plot? En primer lugar, hay que cargar la librería GG Plothons.
106:54
Speaker A
En segundo lugar, usar la función base GG Plot 2. Esta función inicia la creación de los gráficos.
107:03
Speaker A
¿Qué te pide como insumo? Una data. Sin data no hay gráfico. ¿Qué más te pide? ¿Qué variables vas a usar en tus análisis?
107:15
Speaker A
Si tú declaras la función GGP plot con la data y las variables, paso uno, recién separas un espacio para el gráfico.
107:28
Speaker A
Esta función GGP plot te permite separar un espacio para el gráfico. Si tú sumas la geometría, acá va a ir el gráfico, ¿no?
107:43
Speaker A
Por eso se trata de suma de capas. La siguiente capa le agrego un título, va a ir acá. La siguiente capa le agrego una leyenda, va a ir acá.
107:53
Speaker A
La segunda capa le agrego una fuente, va a ir acá. Suma de capas, ¿no? A esa se le conoce como gramática de gráficos, ¿no? Eso es un filosofía, muchachos.
108:06
Speaker A
Entonces, en el paso uno hemos creado el espacio para el gráfico, ¿no? Etapa dos, miren, yo le llamé G. Miren, yo le llamé G. Si a G yo le sumo, muchachos, miren, a Gumo la geometría.
108:26
Speaker A
Gon point sirve para hacer gráfico de puntos. ¿Qué aparecieron? aparecieron los puntos, ¿no? Alfa 0.25 es el tamaño de los puntitos, ¿ya? Es un argumento de tamaño de los puntitos.
108:43
Speaker A
Entonces, al sumarle la geometría ya parecen, jóvenes, ya aparecen los puntitos, ¿no? Gonp, gráfico de puntos o gráfico de dispersión, muchacho.
108:54
Speaker A
Entonces, tu gráfico ya está con datos, ¿no? ¿Qué más se puede hacer, muchachos? Profesor, ahora le quiero agregar el título.
109:10
Speaker A
Agrégale el título. ¿Dónde está? Acá está, profesor. Quiero agregarle, quiero que se diferencie los puntos por especie.
109:20
Speaker A
¿Cómo se hace ese proceso? Usando esta función. Ya no quiero que aparezca todo como un punto, sino que cada punto esté por especie ¿no?
109:36
Speaker A
Y este tema de acá es para la leyenda. Profesor, ¿y por qué no aparece la leyenda?
109:46
Speaker A
Lo que pasa, la leyenda es informativa cuando hay cuando no está claro la distribución, pero acá como ya están por grupo y sobreentiende que ya sería redundar si te da la leyenda, ¿no?
110:01
Speaker A
Claro, si te está dando gráfico por grupos, ¿para qué quieres la leyenda si ya está todo claro? No, no tiene sentido, ¿no? Y Plot es también inteligente para esas partes, pero si quisieras una leyenda, puedes ponerlo donde tú deseas, ¿no? Tú
110:19
Speaker A
puedes escoger la ubicación, ¿no? Entonces cada vez los gráficos se hacen mucho más interesantes a medida que tú sumas capas, ¿no?
110:31
Speaker A
¿Qué más se le puede agregar, profesor? Vamos a ver. Mire. decidí mantener la leyenda para no tener problema.
110:44
Speaker A
Ahí está la leyenda, pero ya tiene todo, ¿no? Tiene título, leyenda, los puntos diferenciados por especie y es un gráfico ideal para un informe ¿no?
110:57
Speaker A
¿Qué es lo que he hecho? Miren, etapa uno, definir mi espacio. Etapa dos, sumar la la geometría.
111:11
Speaker A
Etapa tres, ponerle un título. Etapa cuatro, diferencial por grupos. con cuatro capas hecho un gráfico muy estético, muy didáctico y superentendible, ¿no?
111:32
Speaker A
El orden de las etapas no necesariamente tiene que estar en el orden que inicialmente se dieron, ¿verdad?
111:38
Speaker A
No, el orden es lo de menos, ¿no? Tú puedes poner donde sea y va a aparecer tal como tú quieras.
111:44
Speaker A
Perfecto. Sí. No necesita orden. Es como se dice en matemáticas conmutativo. No s no hay el orden no no afecta a la a la gramática del gráfico, muchachos.
112:00
Speaker A
Puedes ponerlo el laps al final o al inicio, ¿no? Pero eso sí, lo que sí va primero es la data y la geometría.
112:08
Speaker A
Después viene todo lo demás. Eso sí. Claro, no no vas a definir primero la geometría antes que la data. No, no tiene sentido, ¿no? Esto de acá, la data es clave, jóvenes, este es el punto inicio, pero los demás sí se puede alternar, no
112:24
Speaker A
hay problema. Muy bien, entonces de esa manera, ¿no? Y bueno, tiene Y Plot mucha potencialidad para hacer todo tipo de gráfico, ¿no?
112:40
Speaker A
Pero también tiene algunas eh librerías aliadas, ¿no? Por ejemplo, GG Animate te permite hacer gráficos animados, gifts, por ejemplo, ¿no? Los que quieran hacer su gift, por ejemplo, Y animate, ¿no?
112:57
Speaker A
Y rich para hacer gráficos de densidad. Son gráficos de ensa faceteados, que son gráficos medio raros para comparar o para medir brechas, por ejemplo, ¿no?
113:08
Speaker A
Brecha salarial por sexo, por ejemplo. Estos gráficos de es interesante, ¿no? Algo así, ¿no?
113:17
Speaker A
Imagine, tienes tu gráfico deidad salario de la mujer, salario del hombre, ¿no? Te permite ver brechas. Es interesante eso.
113:30
Speaker A
No quiero generar polémica, ¿no? Pero más o menos es así las brechas, ¿no? Es interesante esas librerías. Eh, Gigali para hacer gráficos eh simultáneos, una sola función te hace todos los gráficos necesarios para tu conjunto de datos.
113:46
Speaker A
Imagínate. Entonces, y plot por sí solo es un golazo, pero si quieres aliados también puedes usar sus aliados, ¿no?
113:56
Speaker A
Por ejemplo, Yigi Gali hace esto. Le das tu data, la función es Gigi Purse, le das tu data, le dices que tu análisis lo diferencie por colores y mira lo que te muestran.
114:09
Speaker A
Miren lo que te dan, muchachos. Te da un reporte con todos los gráficos. que tú vas a necesitar para tu conjunto de datos.
114:20
Speaker A
Voy a copiar esto. Ya, miren, para que vean ya que no se necesita muchas más cosas. Se colgó mira por acá. Lo voy a pegar. Eh, ahí está.
114:34
Speaker A
Miren, ahí está cargando. Ahí está cargando. Ahí está, muchachos. Miren, no me demoré ni un segundo y me ha hecho todos los gráficos de mi base de datos.
114:53
Speaker A
me calculado los gráficos de densidad en la diagonal, los gráficos de dispersión, eh los gráficos de caja y los gráficos de barra, ¿no?
115:05
Speaker A
Correlaciones también le digo también correlaciones, imagínense, entonces son herramientas que sí te van a facilitar pues para hacer un análisis exploratorio de tu conjunto de datos, ¿no?
115:18
Speaker A
¿Cuánto tiempo va a ahorrar eso? No se demoró ni Claro, si tu data grande va a demorarse un par exagerando un minuto, pues no, pero se hace un reporte completo y es interesante, ¿no? Y no se necesita ninguna programación, solamente usar esa
115:37
Speaker A
librería ¿no? Y así es, jóvenes. Muy bien. Eso es G plot, muchachos, ¿no? A ver. Y bueno, eso sería todo, muchachos.
115:57
Speaker A
Bueno, entonces hemos terminado con la con la teoría, muchachos, de Gig Plot. Mañana vamos a hacer gráficos en GGP plot, así que repasen por favor estos puntos para que quede claro eh cómo funciona el GG Plot y ya mañana hacemos gráficos
116:17
Speaker A
interesantes ¿no? A ver si replicamos algún algún gráfico de del Banco Mundial de sus publicaciones. Hay uno interesante en que relaciona tamaño poblacional, esperanza de vida, IP per cápita, ¿no?
116:32
Speaker A
En un solo gráfico. Interesante. Ah, voy a tratar de conseguir ese gráfico para poder replicarlo.
116:39
Speaker A
Muy bien, muchachos. Entonces, sí, hay una consulta. Sí, profe, una pregunta. Nosotros vamos a ver gráfico. Hay unos gráficos que esos gráficos que que son animados que avanzan en el tiempo. Aquí también se hacen o se hace en otro software. Ah,
116:54
Speaker A
todo, todo se puede hacer. Voy a buscar un ejemplo de eso, de un gráfico animado en el tiempo para y hacerlo con con G plot. Ya, perfecto. Gracias, profe.
117:05
Speaker A
Sí, muy bien, muchachos. Nos quedamos acá. Continuamos eh mañana, por favor. Gracias por su atención. Buenas noches,
Topics:visualización de datosggplot2joins en Rleft joininner joinformato wideformato longpivotear datosmanipulación de datosR programming

Frequently Asked Questions

¿Qué es un left join y cuándo se usa?

Un left join es una operación para combinar dos tablas de datos usando una variable clave común, donde se conserva toda la información de la tabla izquierda y se agregan las variables de la tabla derecha cuando coinciden las claves. Se usa para enriquecer la data original con información adicional.

¿Cómo puedo transformar datos de formato wide a long en R?

En R, puedes usar funciones como gather o pivot_longer para transformar datos de formato wide (variables en columnas) a formato long (variables en filas), facilitando análisis y visualización.

¿Se pueden hacer varios joins en una sola línea de código en R?

No, cada join se realiza con una tabla a la vez, pero puedes concatenar varios joins usando el operador pipe (%>%) para encadenar múltiples operaciones de combinación de tablas.

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 →