¿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
Argumentos con valor por defecto
En esta lección harás que un argumento sea opcional.
Se escribe el valor por defecto en la definición: function(name = "Invitado"). Al llamar sin ese argumento, se usa el valor indicado.
El código de ejemplo llama a la función con un nombre y sin él.
R tiene aquí una capacidad poco habitual: gracias a la evaluación perezosa, el valor por defecto puede referirse a otros argumentos, incluso a los que se calculan después. function(x, n = length(x)) es perfectamente válido, y el length solo se ejecuta si nadie pasó n.
Al llamar, R permite abreviar los nombres de los argumentos y encaja los que faltan por posición. Es muy cómodo en la consola y una fuente de fragilidad en un guion: si alguien añade un argumento nuevo a la función, una abreviatura que antes era única puede volverse ambigua. En código que va a durar, conviene escribir los nombres completos.
Verás también ... en muchas funciones: recoge cualquier argumento adicional y lo pasa a otra función. Es lo que permite que plot acepte decenas de opciones sin declararlas.
🧪 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.
