Vytvoření S3 metody (1)
Samotná generická funkce nic nedělá. K tomu potřebuješ metody – což jsou běžné funkce splňující dvě podmínky:
- Název metody musí mít tvar
generic.class. - Signatura metody – tedy argumenty, které se do metody předávají – musí obsahovat signaturu generické funkce.
Syntaxe vypadá takto:
generic.class <- function(some, arguments, ...) {
# Do something
}
Toto cvičení je součástí kurzu
Objektově orientované programování s S3 a R6 v R
Pokyny k cvičení
Generická funkce get_n_elements() je už definovaná ve tvém pracovním prostředí.
- Zadej její název (bez závorek) a podívej se, jak funguje.
- Napiš S3 metodu pro výpočet počtu prvků objektu
data.frame.- Název funkce by měl být složen z názvu generické funkce, tečky a názvu třídy vstupu.
- Vstupní argumenty by měly být
xa.... - Tělo funkce by mělo tvořit jediný řádek, který vrátí počet prvků (řádky krát sloupce) datového rámce.
- Zavolej
get_n_elementsna datovou sadusleep(docs) a výsledek přiřaď do proměnnén_elements_sleep. - Vypiš
n_elements_sleepdo konzole, abys viděl/a výsledek.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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