Creare un metodo S3 (1)
Di per sé, la funzione generica non fa nulla. Per questo, devi creare dei metodi, che sono semplici funzioni con due condizioni:
- Il nome del metodo deve essere della forma
generic.class. - La firma del metodo, cioè gli argomenti passati al metodo, deve includere la firma della generica.
La sintassi è:
generic.class <- function(some, arguments, ...) {
# Fai qualcosa
}
Questo esercizio fa parte del corso
Programmazione orientata agli oggetti con S3 e R6 in R
Istruzioni dell'esercizio
La funzione generica get_n_elements() è stata definita nel tuo workspace.
- Digita il suo nome (senza parentesi) per vedere come funziona.
- Scrivi un metodo S3 per calcolare il numero di elementi in un oggetto
data.frame.- Il nome della funzione deve essere il nome della generica, poi un
.e poi il nome della classe dell'input. - Gli argomenti in input devono essere
xe.... - Il corpo della funzione deve essere una singola riga, che restituisce il numero di elementi (righe per colonne) in un data frame.
- Il nome della funzione deve essere il nome della generica, poi un
- Chiama
get_n_elementssul datasetsleep(docs) e assegna il risultato alla variabilen_elements_sleep. - Stampa
n_elements_sleepnella console per vedere il risultato.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# View get_n_elements
get_n_elements
# Create a data.frame method for get_n_elements
___ <- ___
# Call the method on the sleep dataset
n_elements_sleep <- ___
# View the result
n_elements_sleep