Tworzenie metody S3 (1)
Sama funkcja generyczna nic nie robi. Potrzebne są do tego metody – czyli zwykłe funkcje spełniające dwa warunki:
- Nazwa metody musi mieć postać
generic.class. - Sygnatura metody – czyli argumenty, które do niej przekazujesz – musi zawierać sygnaturę funkcji generycznej.
Składnia wygląda następująco:
generic.class <- function(some, arguments, ...) {
# Do something
}
To ćwiczenie jest częścią kursu
Programowanie obiektowe z S3 i R6 w R
Instrukcje do ćwiczenia
W twoim środowisku roboczym została zdefiniowana funkcja generyczna get_n_elements().
- Wpisz jej nazwę (bez nawiasów), żeby zobaczyć, jak działa.
- Napisz metodę S3, która oblicza liczbę elementów w obiekcie
data.frame.- Nazwa funkcji powinna składać się z nazwy funkcji generycznej, kropki, a następnie nazwy klasy przyjmowanego argumentu.
- Argumenty wejściowe to
xi.... - Ciało funkcji powinno zawierać jedną linię, zwracającą liczbę elementów (wiersze razy kolumny) ramki danych.
- Wywołaj
get_n_elementsna zbiorze danychsleep(dokumentacja) i przypisz wynik do zmiennejn_elements_sleep. - Wyświetl
n_elements_sleepw konsoli, żeby zobaczyć rezultat.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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