Kom igångKom igång gratis

Skapa en S3-metod (1)

En generisk funktion gör ingenting på egen hand. För det behöver du skapa metoder, som är vanliga funktioner med två villkor:

  1. Metodens namn måste ha formen generic.class.
  2. Metodens signatur – det vill säga de argument som skickas in till metoden – måste innehålla generikens signatur.

Syntaxen är:

generic.class <- function(some, arguments, ...) {
  # Do something
}

Den här övningen är en del av kursen

Objektorienterad programmering med S3 och R6 i R

Visa kurs

Övningsinstruktioner

Den generiska funktionen get_n_elements() har redan definierats i din arbetsmiljö.

  • Skriv dess namn (utan parenteser) för att se hur den fungerar.
  • Skriv en S3-metod som beräknar antalet element i ett data.frame-objekt.
    • Funktionens namn ska bestå av generikens namn, följt av . och sedan namnet på indataklassen.
    • Indataargumenten ska vara x och ....
    • Funktionens kropp ska bestå av en enda rad som returnerar antalet element (rader gånger kolumner) i dataramen.
  • Anropa get_n_elements på datamängden sleep (dokumentation) och tilldela resultatet till variabeln n_elements_sleep.
  • Skriv ut n_elements_sleep i konsolen för att se resultatet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
Redigera och kör kod