AD

¿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 Udemy

Enlace de afiliado. No te cuesta nada extra.

📊Lecciones de R
Lección 47 / 68

Devolver varios valores desde una función (listas)

En esta lección devolverás dos resultados de una misma función.

Una función en R devuelve un solo objeto, así que para varios valores se devuelve una list con nombres, y quien la recibe accede con $.

El código de ejemplo obtiene el mínimo y el máximo de un vector en una sola llamada.

Los nombres son lo que hace utilizable el resultado: result$min se entiende, mientras que result[[1]] obliga a recordar el orden. Con nombres, además, añadir un tercer valor no rompe a nadie.

R no tiene desestructuración en la base del lenguaje: no se puede escribir algo como «asigna estos dos valores a estas dos variables». Hay que sacarlos uno a uno, o usar el paquete zeallot, que añade un operador para eso.

Para este caso concreto, range(nums) ya devuelve el mínimo y el máximo en un vector de dos elementos. Y cuando lo que devuelves son varias medidas de un mismo conjunto de datos, lo idiomático suele ser un data.frame de una fila, que se puede apilar con los resultados de otras ejecuciones.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 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.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)