Zacznij terazZacznij za darmo

Tworzenie metody S3 (1)

Sama funkcja generyczna nic nie robi. Potrzebne są do tego metody – czyli zwykłe funkcje spełniające dwa warunki:

  1. Nazwa metody musi mieć postać generic.class.
  2. 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

Zobacz kurs

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 x i ....
    • Ciało funkcji powinno zawierać jedną linię, zwracającą liczbę elementów (wiersze razy kolumny) ramki danych.
  • Wywołaj get_n_elements na zbiorze danych sleep (dokumentacja) i przypisz wynik do zmiennej n_elements_sleep.
  • Wyświetl n_elements_sleep w 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
Edytuj i uruchom kod