ComenzarEmpieza gratis

Aplicar funciones que devuelven NULL

En todos los ejercicios anteriores, se suponía que las funciones aplicadas a vectores y listas devolvían un resultado significativo. Por ejemplo, la función tolower() simplemente devuelve las cadenas con los caracteres en minúsculas. No siempre será así. Supón que quieres mostrar la estructura de cada elemento de una lista. Para ello puedes utilizar la función str(), que devuelve NULL:

lapply(list(1, "a", TRUE), str)

Esta llamada devuelve una lista, del mismo tamaño que la lista de entrada, que contiene todos los valores de NULL. Por otra parte, al llamar a

str(TRUE)

se imprime solo la estructura del elemento lógico en la consola, no NULL. Esto se debe a que str() utiliza invisible() de forma subyacente, lo que devuelve una copia invisible del valor de devolución, NULL en este caso. Esto impide que se imprima cuando el resultado de str() no está asignado.

¿Qué devolverá el fragmento de código que se indica a continuación (split_low ya está disponible en el área de trabajo)? Intenta pensar el resultado antes de ejecutarlo en la consola.

lapply(split_low, function(x) {
  if (nchar(x[1]) > 5) {
    return(NULL)
  } else {
    return(x[2])
  }
})

Este ejercicio forma parte del curso

R intermedio

Ver curso

Ejercicio interactivo práctico

Pon en práctica la teoría con uno de nuestros ejercicios interactivos

Empieza el ejercicio