Operazioni foldable (I)
Un'operazione che restituisce lo stesso risultato sia applicandola all'intero insieme di dati sia applicandola a blocchi (chunk) dell'insieme di dati e poi combinando i risultati sui blocchi viene talvolta detta foldable. Le operazioni max() e min() ne sono un esempio.
Qui abbiamo definito una versione foldable della funzione range() che accetta un vettore oppure una lista di vettori.
Verifica che la funzione funzioni testandola sul set di dati dei mutui.
Questo esercizio fa parte del corso
Elaborazione scalabile dei dati in R
Istruzioni dell'esercizio
- Verifica che
foldable_range()funzioni sulla colonna"record_number"del set di datimort.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
foldable_range <- function(x) {
if (is.list(x)) {
# If x is a list then reduce it by the min and max of each element in the list
c(Reduce(min, x), Reduce(max, x))
} else {
# Otherwise, assume it's a vector and find its range
range(x)
}
}
# Verify that foldable_range() works on the record_number column
___