Inizia subitoInizia gratis

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:

  1. Il nome del metodo deve essere della forma generic.class.
  2. 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

Visualizza corso

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 x e ....
    • Il corpo della funzione deve essere una singola riga, che restituisce il numero di elementi (righe per colonne) in un data frame.
  • Chiama get_n_elements sul dataset sleep (docs) e assegna il risultato alla variabile n_elements_sleep.
  • Stampa n_elements_sleep nella 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
Modifica ed esegui il codice