setwd("/Users/juanjo/Documents/Curso R")R & Google AI Studio
👨⚕️ El curso en tu bolsillo
Si quieres revisar el curso en tu móvil o tablet, aquí tienes el acceso directo:
👨⚕️ Guía
A lo largo del texto te encontrarás con estos recuadros:
- Important🔴 Rojo: Advertencias
Advertencias importantes para aprender
- Note🔵 Azul: Tu turno de teclear
Instrucciones sobre qué debes hacer, practicar o teclear en RStudio.
- Warning🟠 Naranja: Cuidado!
Advertencias para evitar errores típicos.
- Tip🟢 Verde: Tips
Sugerencias y consejos.
En los recuadros grises no hace falta que selecciones el texto para copiarlo, simplemente haz clic en el icono del portapapeles (📋) que aparece arriba a la derecha:
# Clic en el botón de la derecha ->
library(babynames)🔴 Sesión en Vivo
El curso se retransmitirá en directo a través de Jitsi.
📅 Fecha: 7 de Abril
🕓 Horario: 16:00 a 20:00 h
No es necesario instalar nada, se abre directamente en el navegador. Entrar con el micrófono y el vídeo silenciado para mejorar la retransmisión.
1. Introducción al Laboratorio
Por qué no tirar el ordenador a la basura
En este curso aprenderás a programar en R usando Google AI Studio como tu asistente personal (aunque también puedes utilizar otra IA si lo prefieres).
TE PUEDES EQUIVOCAR. No se rompe nada. No se corrompen archivos ni se pierden datos. La mejor forma de aprender es probando códigos.
Y, con ayuda de la IA, solo tendrás que pedir, copiar y pegar, no hace falta entender el código.
Herramientas
- Google AI Studio: Entra con tu cuenta de Gmail en aistudio.google.com. Usaremos el chat para pedir código.
- R: el motor.
- RStudio: es la interfaz en donde pegaremos el código y veremos los resultados.
Una vez en la web, elige la descarga (free!) según tu sistema operativo (Windows o Mac).
Pantalla de inicio
La primera vez que abras RStudio verás algo así
En menú de arriba, a la izquierda, puedes hacer clic en la opción R Script para abrir tu primer archivo de código…
y entoncer verás la pantalla dividida en 4 partes
Explicación breve de las ventanas del interfaz de RStudio
Panel de Scripts (Editor), arriba a la izquierda (está en blanco) es el lugar en el que pegaremos el código y luego lo ejecutaremos con el botón Run en el menú superior o con Ctrl + Enter (Windows) o Cmd + Enter (Mac)
Consola, abajo a la izquierda, ahí veremos la ejecución del código y los resultados (pero no se guardan aquí)
Entorno de Trabajo (Environment / History), arriba a la derecha. Es un almacén de todos los archivos y objetos que se van creando.
Panel de Utilidades (Files / Plots), de abajo a la derecha. En la pestaña Plot veremos los gráficos que se van creando. La pestaña Files es un explorador de nuestro disco duro.
Prompts para empezar
Escribe en Google AI Studio:
“Explícame la consola de RStudio brevemente para alguien que acaba de verla por primera vez”
“Explícame qué significa el símbolo <-”
2. Configuración del Directorio
¿Dónde están mis archivos? R jugando al escondite con tus datos
El Directorio de Trabajo es la carpeta de tu ordenador donde R “mira” para encontrar archivos. Fundamental empezar por aquí para tener todo ordenado.
Para que R busque en tu carpeta, puedes hacerlo de 2 maneras:
La más sencilla es desde la pestaña “Files” (abajo a la derecha) -> buscas tu carpeta -> Click en el símbolo de engranaje “More” -> Set AS Working Directory.
La otra es con código:
Escribe este código en R y reemplaza el texto entre comillas por la ruta a tu carpeta en la que quieres guardar todo
Luego escribe este código en R para ver en qué carpeta estás. Si lo has hecho correctamente (cualquiera de ambos métodos) aparecerá la ruta a tu carpeta.
getwd()Lo ideal es incluir al inicio de cada archivo de código una línea setwd (“RUTA A TU ARCHIVO”). De esa forma, cuando cambies de entorno o de proyecto, los archivos de ese proyecto siempre se guardarán ahí.
3. Organización y Títulos
Aunque no seas muy TOC, un poquito de orden no va mal
Es vital que tu código esté ordenado. R ignora todo lo que escribas después de un #. Esto se usa para poner títulos y comentarios. Y nos ayuda a entender partes del código
Si al final de la línea añades “####”, facilita la navegación y así se puede acceder rápidamente a una línea de código determinada. Los títulos pueden desplegarse en la parte inferior de la ventana en la que se escribe el código.
Pon alguna línea de título en tu script
# Título Principal (Nivel 1) ####
## Subtítulo (Nivel 2) ####
### Sub-subtítulo (Nivel 3)... #### 4. Librerías
Diógenes digital.Instalando paquetes que quizás no uses nunca más
R funciona con librerías. Hay miles y solo es necesario utilizar unas pocas para nuestro trabajo. Primero hay que instalarlas y luego cargarlas. No es necesario que sepas cuales porque la IA lo hará por tí. Simplemente para que conozcas el código que verás en pantalla.
Instala la librería (solo hay que hacerlo 1 vez)
install.packages("babynames")Carga la librería (esto se hace cuando se necesita). Al cerrar RStudio se descargan y habrá que cargarlas en la siguiente sesión.
library(babynames)5. Dataframes y Variables
Ponerle nombre a las cosas es, sorprendentemente, lo más difícil
Las tablas de datos en R se llaman Dataframes. Y cada columna es una variable (sexo, edad…)
Antes de empezar a trabajar en R es conveniente depurar tu base de datos. Poner nombre de las variables en la primera fila sin acentos ni espacios ni “ñ”. Si, por ejemplo, en una variable “Sexo” tienes anotado “Varon”, “Varón”, “Hombre”, “Mujer” y “mujer”, para R son 5 opciones.
La depuración también se puede hacer en R. En Excel puede ser complicado cuando las bases de datos son extensas y con muchas variables.
R es sensible a: * MAYÚSCULAS y minúsculas: Data y data son cosas distintas. * Acentos y “Ñ”: Evita usarlos en nombres de variables o archivos para evitar errores. Y tampoco espacios.
6. Importación de Datos
R es mejor… y Excel lo sabe
De Excel o CSV a R
Habitualmente se puede importar directamente un archivo Excel, aunque a veces es mejor guardar nuestras bases de datos en formato CSV (UTF-8). Estos son archivos más universales y menos pesados cuando tenemos muchos datos.
Descarga este archivo 📊 Dataframe NHANESsimpl.xlsx
Copia este prompt en Google AI Studio para leer uno de los archivos que utilizaremos:
- “Dame el código R para importar un archivo llamado ‘NHANESsimpl.xlsx’ y que se guarde en un dataframe llamado ‘data’.”
- A continuación copia el código resultante en R y ejecútalo.
7. Órdenes Básicas de Exploración
Fisgoneo profesional. Mirando tu tabla por el agujero de la cerradura
Una vez cargados los datos del archivo Excel (NHANESsimpl.xlsx) en el dataframe data vamos a ver cómo ha quedado.
Para ver el dataframe basta con hacer clic sobre él en la pestaña “Environment” (en esa pestaña es donde van apareciendo todos los objetos que se crean cuando se ejecuta código).
No obstante, aunque podemos ver los datos que se han cargado de forma similar a como se ven en una hoja excel, no sabemos qué tipo de datos son (texto, fechas, números…).
Para esto, puedes copiar estos códigos y ejecutarlos en R
Copia los siguientes códigos y ejecútalos en R
head(data) # Ver las primeras 6 filas
colnames(data) # Ver los nombres de las columnas
ncol(data) # ¿Cuántas columnas tiene?
nrow(data) # ¿Cuántas filas (registros) tiene?
dim(data) # Dimensiones totales (filas / columnas)8. Tipos de Variables
¿Eres un número o solo un texto bonito?. Cuando R decide que tu edad es una palabra y se niega a sumar
Estos son los tipos principales de variables en R
- character: Texto (nombres, categorías).
- numeric: Números con decimales (peso, altura).
- integer: Números enteros (edad en años).
- factor: Categorías con niveles (ej: “Bajo”, “Medio”, “Alto”).
- Date: Fechas.
Para saber qué tipo de datos contiene las variables tenemos este código. Cópialo y ejecútalo en R aplicándolo al dataframe data.
str(data) # Estructura de las variablesEn el código, verás que las variables en R se escriben así:
dataframe$variable, por ejemplo, data$Race
Es decir, a R hay que decirle qué variable es (nombre de la columna) y en qué dataframe está, porque puede haber 2 dataframes que contengan una variable que se llame igual, por ejemplo “sexo”.
Para hacer una tabla sencilla con variables cualitativas usamos
table(data$Race)Copia y ejecuta este código en R y averigua qué está pasando
table(data$gender) # Tabla de la variable gender 'gender'9. Haciendo estadística
La búsqueda del Santo Grial. Torturando los datos para que confiesen lo que queremos: p< 0.05.
Cargar archivos de práctica
Ahora vamos a practicar con los archivos que tendrás ya cargados. Si has cerrado RStudio, tendrás que volver a cargarlos.
Los dataframes babynames y births no se ven en “Environment” porque son archivos que van incluidos en la librería babynames. Tan solo hay que cargar esa librería y ya los tienes.
Copia este código y pégalo en R para cargar la librería
library(babynames)También hay que importar el archivo NHANESsimpl.xlsx, con el que creamos el dataframe data.
Si no lo has hecho ya, primero descarga el archivo NHANESsimpl.xlsx,
📊 Descargar NHANESsimpl.xlsx
Y ahora crea el dataframe “data” copiando y pegando este código en R. Recuerda que todos los archivos tienen que estar en tu carpeta de trabajo.
data <- read_excel("NHANESsimpl.xlsx")Luego échales un vistazo a esos 3 dataframes para familiarizarte con ellos. data lo verás en el Environment, haz clic sobre el para mostrarlo en pantalla.
Para ver los dataframes babynames y births es necesario usar código.
View(babynames)
View(births)
View(data)El dataframe “data” también puedes verlo simplemente haciendo clic sobre él en la pestaña “Environment”. Fíjate que cuando hagas clic, en la cónsola se escribe View(data)
Contenido de los archivos de práctica
babynames y births contienen datos históricos de EE. UU. (desde 1880 hasta 2017).
babynames es una tabla con los nombres registrados al nacer y contiene:
- year: El año.
- sex: Sexo (femenino o masculino).
- name: El nombre propiamente dicho.
- n: Número de bebés con ese nombre en ese año.
- prop: La proporción de ese nombre respecto al total de nacimientos de ese año y sexo.
births es una tabla que contiene:
- year: El año.
- births: número de nacimientos en ese año.
data contiene los datos importados de NHANESsimpl.xlsx. Este dataset es una versión simplificada de la Encuesta Nacional de Examen de Salud y Nutrición de EE. UU. (NHANES).
- ID: Identificador único
- Gender: Sexo (male / female).
- Age: Edad en años.
- AgeMonths: Edad en meses.
- Race: Etnia.
- Poverty: Ratio de ingresos familiares (valores bajos indican mayor pobreza).
- HomeRooms: Número de habitaciones que tiene la vivienda (sin contar baños, pasillos o garajes).
- HomeOwn: Situación de propiedad de la vivienda (Propia, Alquilada u Otra).
- Weight: Peso (kg).
- Height: Altura (cm).
- Length: Longitud (cm).
- HeadCirc: Perímetro cefálico (cm).
- BMI: Índice de Masa Corporal (kg/m²).
- BPSys / BPDia: TA sistólica y diastólica (mmHg).
- TotChol: Colesterol total (mg/dL).
- Diabetes: (Yes / No).
- PhysActive: Realiza actividad física moderada o intensa (Yes / No).
- PhysActiveDays: Número de días por semana que el participante realiza actividad física intensa o moderada.
- TVHrsDay: Horas de televisión al día en adolescentes y adultos
- TVHrsDayChild: Horas de televisión al día (2 a 11 años).
- CompHrsDay: Horas de ordenador o videojuegos al día.
- CompHrsDayChild: idem (2 a 11 años)
Echando un vistazo a los dataframes
Puedes usar inicialmente estos comandos para inspeccionarlos rápidamente:
# Ver la estructura de las variables
str(babynames)
str(births)
str(data)
# Resumen estadístico rápido
summary(babynames)
summary(births)
summary(data)
# Ver las dimensiones (Filas x Columnas)
dim(babynames)
dim(births)
dim(data)
# Ver el nombre de todas las columnas
colnames(babynames)
colnames(births)
colnames(data)Pidiendo a la IA
En los siguientes ejercicios copia y pega estas peticiones en Google AI Studio y ejecuta en R el código que te facilite.
Cuando hagas peticiones procura incluir el nombre de tus archivos y variables, de esa manera no tendrás que modificar nada en el código resultante, solo copiar y pegar. Evita las peticiones genéricas.
A lo largo de los ejemplos a continuación es posible que te salgan mensajes de error al ejecutar el código que se creo con Google AI Studio. Cuando esto ocurra, selecciona el texto del error, cópialo en Google AI Studio y corrige con las indicaciones que te sugiera.
Puedes hacer otras peticiones que se te ocurran.
Si no te gusta la solución que te ofrece Google AI Studio, vuelve a preguntar o aporta indicaciones o mejoras que desees.
“Dame el código R para hacer una tabla con los 10 nombres más populares (variable name) en el dataframe babynames”
“Dame el código R para hacer una tabla con los 10 nombres más populares (variable name) en el dataframe babynames durante el año 2017”
“Quiero saber cuantos nombres distintos hay por año”
“Quiero ver la tendencia del nombre Mary”
“Quiero unir babynames con el archivo births, la variable común es year”
Fíjate que conforme vas aportando datos al modelo, la IA va aprendiendo qué quieres hacer y te hace sugerencias de análisis o gráficos que pueden resultar interesantes, además de facilitar preguntas sucesivas.
Crear nuevas variables y unir archivos
En el dataframe “data” tengo las variables Weight (kg), Height y Lenght (cm), quiero crear otra variable llamada IMC que es el índice de masa corporal. Utiliza Lenght en menores de 2 años y Height en mayores. La edad está en la variable Age (años) y AgeMonths (edad en meses)
“Dame el código para saber cuántos valores perdidos (NA) hay en cada columna y explícamee cómo interpretar el resultado.”
Para los siguientes ejercicios necesitarás los archivos con las tablas de percentiles de OMS. En los archivos “0-5 años” la primera columna es “Days” hasta los 1856 (5 años) y en los archivos “5-19 años” la primera columna son “Months” de 61-228 meses (19 años).
Descarga, descomprime y guarda en tu carpeta de trabajo pero ¡no les cambies el nombre!
Quiero añadir una variable “status” al archivo data que represente el status de IMC
Normopeso si el IMC está por debajo del percentil 85 para su edad y sexo, sobrepeso si está entre el 85 y el 97 percentil y obesidad si está por encima del percentil 97. A partir de los 19 años, considera sobrepeso un IMC entre 25 y 30 y obesidad mayor de 30.
Para eso dispongo de 4 archivos, OMS_Males_5-19_years.csv, OMS_Males_0-5_years.csv, OMS_Females_0-5_years.csv y OMS_Females_5-19_years.csv. Son tablas con los valores de los percentibles a diferentes edades.
En los archivos de 0-5 years la primera columna contiene la edad en Days hasta los 5 años y en los archivos 5-19 la edad en Months a partir de los 61 meses y contienen estas variables: Month/Days, L, M, S, P01, P1, P3, P5, P10, P15, P25, P50, P75, P85, P90, P95, P97, P99, P999, SD4neg, SD3neg, SD2neg, SD1neg, SD0, SD1, SD2, SD3, SD4.
En el archivo data también hay una variable Gender que puede ser male o female.
Explorando los datos
🚀 A estas alturas, si has hecho los deberes ya no necesitas más orientaciones
Averigua la relación entre status y etnia y entre el imc y etnia, pobreza, uso de pantallas y ejercicio físico ¿Te serviría el z-score del imc?
Averigua si hay diferencias en el nivel de colesterol por sexos, etnias o actividad física
Crea alguna gráfica en la que se muestren las diferencias, significativas o no, entre 2 grupos
Comprueba la normalidad de una variable cuantitativa. Para qué sirve?
Exporta un plot en buena calidad
Y… si has llegado hasta aquí, ya estás capacitado para manejar tus datos y explotarlos adecuadamente a tus propósitos. Enhorabuena.
Un científico en su laboratorio no es sólo un técnico: también es un niño que se enfrenta a fenómenos naturales que le impresionan como un cuento de hadas.
Marie Curie, primera mujer en obtener el premio Nobel y primera en obtenerlo en 2 ocasiones.
🩺
Anexos
Esto había que ponerlo en algún sitio
📦 Descarga de archivos
Para realizar las prácticas del curso, descarga los siguientes archivos haciendo clic en cada enlace.
- Haz clic en cada enlace para descargar el archivo.
- Guarda todos los archivos en la misma carpeta de tu ordenador (tu carpeta de trabajo de R).
- No cambies los nombres de los archivos.
Si prefieres descargar las tablas una a una, tendrás que hacerlo con el botón derecho del ratón y elegir la opción “Guardar enlace como…” o “Descargar archivo enlazado”
💻 Atajos de teclado y Operadores
| Windows | Teclas MAC | Acción |
|---|---|---|
Ctrl + Enter |
Cmd + Return |
Ejecutar línea o selección |
Ctrl + Alt + R |
Cmd + Option + R |
Ejecutar todo el script |
Ctrl + Alt + B |
Cmd + Option + B |
Ejecutar desde el inicio hasta la línea actual |
Ctrl + Alt + E |
Cmd + Option + E |
Ejecutar desde la línea actual hasta el final |
Ctrl + L |
Ctrl + L |
Borrar la consola |
Ctrl + C |
Cmd + C |
Copiar el texto seleccionado |
Ctrl + V |
Cmd + V |
Pegar el texto copiado |
Operadores Lógicos y Relacionales
Operadores lógicos
* Y: & * O: | * NO: !
Operadores relacionales
| Operación | Símbolo |
|---|---|
| Mayor | > |
| Menor | < |
| Mayor o igual | >= |
| Menor o igual | <= |
| Igual | == |
| Distinto | != |