Crearea unei metode S3 (1)
Prin ea însăși, funcția generică nu face nimic. Pentru asta, trebuie să creezi metode – care sunt funcții obișnuite ce respectă două condiții:
- Numele metodei trebuie să aibă forma
generic.clasa. - Semnătura metodei – adică argumentele transmise metodei – trebuie să includă semnătura genericului.
Sintaxa este:
generic.class <- function(some, arguments, ...) {
# Do something
}
Acest exercițiu face parte din cursul
Programare orientată pe obiecte cu S3 și R6 în R
Instrucțiuni pentru exercițiu
Funcția generică get_n_elements() a fost definită în workspace-ul tău.
- Scrie numele ei (fără paranteze) pentru a vedea cum funcționează.
- Scrie o metodă S3 care să calculeze numărul de elemente dintr-un obiect
data.frame.- Numele funcției trebuie să fie format din numele genericului, urmat de
., urmat de numele clasei argumentului de intrare. - Argumentele de intrare trebuie să fie
xși.... - Corpul funcției trebuie să conțină o singură linie, care returnează numărul de elemente (rânduri înmulțite cu coloane) din data frame.
- Numele funcției trebuie să fie format din numele genericului, urmat de
- Apelează
get_n_elementspe setul de datesleep(docs) și atribuie rezultatul variabilein_elements_sleep. - Afișează
n_elements_sleepîn consolă pentru a vedea rezultatul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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