¿Ya dominas lo básico? Un curso estructurado de R es la vía rápida para dar el salto.
Ver cursos de R en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (print)
- 03Usar variables
- 04Condicionales (la sentencia if)
- 05Repetir con bucles (for)
- 06Escribir tu propia función
- 07Trabajar con vectores
- 08Repetir con while
- 09Datos con estructura: las listas
- 10Gestión de errores (tryCatch)
- 11Ordenar un vector
- 12Funciones recursivas
- 13Usar las funciones que ya vienen
- 14La función switch()
- 15Aplicar una condición a todo un vector con ifelse()
- 16Aplicar una función a los datos con sapply()
- 17Escribir comentarios
- 18Operadores lógicos (&&, ||, !)
- 19Constantes (la convención de las mayúsculas)
- 20Partir y unir cadenas (strsplit y paste)
- 21Escribir código a prueba de NULL
- 22Buscar en un vector (%in%)
- 23Transformar un vector con sapply (el equivalente de map)
- 24Datos en forma de tabla: las matrices
- 25Crear tu propia condición
- 26Argumentos con valor por defecto
- 27Operaciones con conjuntos (union, intersect, setdiff)
- 28Comprobar que el código es correcto (primer paso hacia las pruebas)
- 29Funciones de orden superior (pasar una función como argumento)
- 30Pilas y colas (estructuras de datos básicas)
- 31Conversión de tipos
- 32Introducción a las expresiones regulares
- 33El algoritmo de búsqueda binaria
- 34Construir un cifrado César
- 35Entender cómo funciona la ordenación de burbuja
- 36Construir y mostrar una fecha
- 37Escribir varias pruebas juntas
- 38Acelerar cálculos con memoización
- 39Normalizar cadenas (trimws y mayúsculas)
- 40Copia superficial y copia profunda
- 41factor, el equivalente a un enum en R
- 42Aplanar una lista
- 43Invertir una cadena y detectar palíndromos
- 44Emparejar dos vectores (la operación zip)
- 45Redondear números (floor, ceiling, round)
- 46Componer un texto de varias líneas
- 47Devolver varios valores desde una función (listas)
- 48Calcular el MCD y el MCM (algoritmo de Euclides)
- 49Dar formato a los números
- 50Limpieza con el finally de tryCatch
- 51Funciones que sirven para cualquier tipo
- 52Leer y escribir archivos
- 53Generar números aleatorios
- 54Operaciones a nivel de bits
- 55Recibir argumentos de la línea de órdenes
- 56Esperar un tiempo determinado (Sys.sleep)
- 57Cuidado con los errores de la coma flotante
- 58Leer un valor de la entrada estándar
- 59FizzBuzz (el ejercicio clásico)
- 60Comprobar si un número es primo
- 61Operaciones de conjuntos (unión, intersección, diferencia)
- 62Convertir entre bases (binario y hexadecimal)
- 63Comprobar el equilibrio de los paréntesis
- 64Comprobar si dos palabras son anagramas
- 65Comprobar si un año es bisiesto
- 66Convertir temperaturas
- 67Descomponer en factores primos
- 68[Aplicado] Un pequeño gestor de inventario
[Aplicado] Un pequeño gestor de inventario
En esta lección juntarás lo aprendido en un programa que gestiona existencias.
Las cantidades se guardan en una lista con nombres, se modifican con $ y se recorren con names(), que devuelve el vector de nombres.
El código de ejemplo da de alta unos artículos, retira unidades y muestra el resultado.
Fíjate en que aquí los nombres de la lista sí están traducidos, al contrario que las claves del switch de otra lección. La diferencia es qué se hace con ellos: allí eran identificadores que había que hacer coincidir con algo; aquí se recuperan con names() y se muestran, así que son datos que ve quien usa el programa. Cuando un nombre se imprime, es contenido; cuando se compara, es identificador.
Falta una validación importante: nada impide que una retirada deje la cantidad en negativo, que es un estado sin sentido. La regla general es que quien modifica el dato es quien debe protegerlo.
En R, para un inventario de verdad lo natural no es una lista sino un data.frame con una fila por artículo: entonces filtrar, ordenar, agrupar y resumir salen gratis con las herramientas del lenguaje, y el paso a una base de datos es inmediato.
🧪 Este sitio no puede compilar ni ejecutar R directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
🔗 El mismo tema en otros lenguajes
Mira cómo se escribe lo mismo en otro lenguaje.
