Introducción a R + IA

Módulo 2 - Fundamentos de R y uso de IA como asistente

Pablo Tiscornia

Estación R

2026-03-10

Bienvenidos y bienvenidas

Contacto con Estación R



¿Cómo les fue con la EPH?


Cuéntenme en el chat o en voz…


  • ¿Pudieron explorar los cuestionarios?
  • ¿Encontraron alguna variable interesante?
  • ¿Surgieron dudas sobre la metodología?

Hoja de ruta de hoy

Contenidos del encuentro


Primera parte

  • ¿Qué es R?
  • ¿Qué es la Ciencia de Datos?
  • R vs RStudio
  • Conceptos básicos

Segunda parte

  • Funciones y objetos
  • Data frames
  • IA como asistente

¿Qué es R?

Primera impresión


Evolución emocional


R es…


Un lenguaje de programación

Especializado en análisis y visualización de datos


Código abierto

Se puede usar y modificar sin pagar licencias


Impulsado por la comunidad

Academia, investigación, sector privado, gente de a pie


Herramienta por excelencia

En universidades, empresas tech y periodismo de datos

¿Qué es la Ciencia de Datos?

El proceso de la Ciencia de Datos


El circuito del dato


R != RStudio

R y RStudio son cosas diferentes


R (el motor)

RStudio (el auto)

Las 4 ventanas de RStudio


1. Script (arriba izquierda): donde escribimos código


2. Consola (abajo izquierda): donde se ejecuta el código


3. Environment (arriba derecha): objetos guardados en memoria


4. Files/Plots/Help (abajo derecha): archivos, gráficos, ayuda

¡Vamos a RStudio!

Puesta a punto


1. Identificar las 4 ventanas principales


2. Cambiar la apariencia (tema oscuro/claro)


3. Configurar Global Options > General

  • Desmarcar “Restore .RData into workspace at startup”
  • Save workspace: Never

Conceptos básicos de R

Valores


Numéricos

100
[1] 100


De texto (caracteres)

"cien"
[1] "cien"


¿Y esto qué es?

"100"
[1] "100"

Vectores

Un vector es una colección de valores del mismo tipo.


Vector numérico

c(100, 102, 200)
[1] 100 102 200


Vector de texto

c("cien", "ciento dos", "doscientos")
[1] "cien"       "ciento dos" "doscientos"

Observen este código


c(1, 2, 3, 4, 5)
[1] 1 2 3 4 5


c("rojo", "verde", "azul")
[1] "rojo"  "verde" "azul" 


¿Qué creen que hace c()?

Miren los valores de entrada y el resultado…

La función c()


La c viene de concatenar o combinar.


Es la forma de crear vectores en R


c(10, 20, 30, 40, 50)
[1] 10 20 30 40 50

Funciones

¿Qué son las funciones?


Las funciones son el alma del lenguaje R.


Reciben un input (entrada) y devuelven un output (salida).


Siempre se escriben así:

nombre_de_la_funcion(input)

Veamos una función en acción


class(1)
[1] "numeric"


class("hola")
[1] "character"


¿Qué creen que hace class()?

Cuéntenme en el chat o levanten la mano…

La función class()


Devuelve el tipo o clase del valor


class(100)
[1] "numeric"

numeric = número


class("100")
[1] "character"

character = texto (por las comillas)

Otra función: observen el resultado


length(c(10, 20, 30))
[1] 3


length(c("a", "b", "c", "d", "e"))
[1] 5


¿Qué creen que hace length()?

La función length()


Devuelve la longitud (cantidad de elementos)


mi_vector <- c(10, 20, 30, 40, 50)
length(mi_vector)
[1] 5

Una más: ¿qué está pasando acá?


mean(c(10, 20, 30))
[1] 20


mean(c(100, 200))
[1] 150


¿Qué hace mean()?

Pista: pensá en los números…

La función mean()


Calcula el promedio (media aritmética)


# (10 + 20 + 30) / 3 = 20
mean(c(10, 20, 30))
[1] 20

¿Qué pasa si…?


mean(c("10", "20", "30"))
[1] NA


¿Por qué falla?

Mirá bien los valores…


¡Son texto! (tienen comillas). No se puede calcular el promedio de texto.

Objetos

Todo puede guardarse en un objeto


Para guardar algo en un objeto usamos <-


nombre_del_objeto <- algo

Ejemplos de objetos


Guardar un número

mi_numero <- 1
mi_numero
[1] 1


Guardar un vector

mis_edades <- c(10, 20, 30)
mis_edades
[1] 10 20 30

Usar objetos como input


edades <- c(20, 45, 23)


mean(edades)
[1] 29.33333


length(edades)
[1] 3

Descanso

10 minutos



Data Frames

¿Qué es un Data Frame?


Un Data Frame es una tabla de datos.


Es la combinación de varios vectores (columnas).


Cada vector tiene la misma cantidad de elementos (filas).

Crear un Data Frame


vector_edad <- c(20, 43, 102, 56)
vector_nombre <- c("Pepe", "Pepa", "Rigoberto", "Rodoberta")

base_personas <- data.frame(vector_edad, vector_nombre)


base_personas
  vector_edad vector_nombre
1          20          Pepe
2          43          Pepa
3         102     Rigoberto
4          56     Rodoberta

Observen este código


base_personas$vector_nombre
[1] "Pepe"      "Pepa"      "Rigoberto" "Rodoberta"


base_personas$vector_edad
[1]  20  43 102  56


¿Qué creen que hace el símbolo $?

Comparen con la tabla que creamos antes…

El operador $


Accede a una columna del data frame


nombre_del_dataframe$nombre_de_columna


El resultado es un vector (una sola columna).

Aplicar funciones a columnas


class(base_personas$vector_nombre)
[1] "character"


mean(base_personas$vector_edad)
[1] 55.25

Ejercitación

A practicar


1. Crear un objeto edad_personas con estos valores:

17, 92, 56, 32, 102


2. Chequear su tipo con class()


3. Conocer su longitud con length()


4. Calcular la edad promedio con mean()

IA como compañera de aprendizaje

¿Para qué usar IA en este curso?


NO para que escriba código por nosotros


SÍ para que nos acompañe mientras aprendemos


La idea: que nos guíe sin darnos la respuesta

Como un tutor que hace preguntas en lugar de resolver todo

IA como tutor


Nos ayuda a entender errores

Sin simplemente “arreglarlos”


Nos explica conceptos

De formas diferentes hasta que comprendamos


Nos da pistas, no soluciones

Para que el aprendizaje sea nuestro

Herramientas gratuitas


ChatGPT

chat.openai.com

Versión gratuita disponible

Claude

claude.ai

Versión gratuita disponible

El arte de preguntar bien


Lo más importante:

Pedirle que no te dé la solución directa


Ejemplo de prompt inicial:

“Estoy aprendiendo R. Cuando te haga preguntas sobre código, no me des la solución completa. Dame pistas, haceme preguntas para que piense, y guiame paso a paso.”

Prompt para resolver ejercicios


Cuando te trabás en un ejercicio:


“Tengo que crear un vector con 5 edades y calcular el promedio. Escribí este código pero no funciona:

edades <- (25, 30, 45)

¿Qué estoy haciendo mal? No me des la solución, dame una pista.”

Prompt para entender errores


Cuando R te da un error:


“R me da este error: Error in mean(x) : argument "x" is missing

Estaba intentando calcular un promedio. ¿Qué significa este error? Explicamelo sin darme el código corregido.”

Prompt para explorar funciones


Cuando querés saber más sobre una función:


“Aprendí que class() me dice el tipo de un valor. ¿Qué otras funciones similares existen para conocer características de mis datos? Dame ejemplos para probar.”

Ejercicio: configurar tu tutor IA


Probemos ahora


  1. Abran ChatGPT o Claude


  1. Copien este prompt inicial:

“Estoy aprendiendo R desde cero. Quiero que seas mi tutor. Cuando te pregunte algo, no me des la solución directa: haceme preguntas, dame pistas, y dejá que yo escriba el código.”


  1. Luego pregunten: “¿Cómo hago para saber cuántos elementos tiene un vector?”

¿Qué respuesta esperamos?


Una buena respuesta de la IA sería:

“¿Ya conocés alguna función que te dé información sobre vectores? Pensá en las que viste en clase… hay una que te dice la ‘longitud’ de algo. ¿Te suena?”


NO queremos:

“Usá la función length(). Ejemplo: length(mi_vector)

Importante


El código lo escribimos nosotros

La IA guía, nosotros ejecutamos


Si la IA da la respuesta directa

Pedirle que reformule como pregunta


El objetivo es APRENDER

No terminar rápido

Cuidados al usar IA


Tiene fecha de corte

Fue entrenada con datos hasta cierta fecha. No conoce lo más reciente.


Puede “alucinar”

A veces inventa funciones, paquetes o datos que no existen.


No siempre es precisa

Puede dar respuestas correctas “a medias” o con errores sutiles.

Más cuidados


Depende mucho del contexto

Si no le damos suficiente información, las respuestas pueden ser genéricas o incorrectas.


Está sesgada, siempre

Fue entrenada con cierta data y no con otra. Refleja esos sesgos.


Quiere “complacernos”

Tiende a decirnos lo que queremos escuchar. Hay que “hackearla” para evitarlo.

¡Listo!

Resumen del encuentro


  • R es un lenguaje de programación para análisis de datos


  • Aprendimos sobre valores, vectores, funciones y objetos


  • Un Data Frame es una tabla (combinación de vectores)


  • La IA puede ser nuestra tutora: que guíe, no que resuelva

Próximo encuentro


Fecha: Martes 10 de febrero, 19hs (ARG)


Tema: tidyverse I - Importación y selección de datos


Seguimos la comunicación por Slack


¿Preguntas?