Aan de slagGa gratis aan de slag

Een S3-methode maken (1)

De generieke functie doet uit zichzelf niets. Daarvoor moet je methoden maken. Dat zijn gewone functies met twee voorwaarden:

  1. De naam van de methode moet de vorm generic.class hebben.
  2. De handtekening van de methode — dus de argumenten die aan de methode worden doorgegeven — moet de handtekening van de generiek bevatten.

De syntaxis is:

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

Deze oefening maakt deel uit van de cursus

Objectgeoriënteerd programmeren met S3 en R6 in R

Cursus bekijken

Oefeninstructies

De generieke functie get_n_elements() is gedefinieerd in je werkruimte.

  • Typ de naam (zonder haakjes) om te zien hoe hij werkt.
  • Schrijf een S3-methode om het aantal elementen in een data.frame-object te berekenen.
    • De functienaam moet de naam van de generiek zijn, dan een . en vervolgens de naam van de klasse van de input.
    • De invoerargumenten moeten x en ... zijn.
    • De functiebody moet uit één regel bestaan die het aantal elementen (rijen keer kolommen) in een data frame retourneert.
  • Roep get_n_elements aan op de sleep-gegevensset (docs) en ken het resultaat toe aan de variabele n_elements_sleep.
  • Print n_elements_sleep naar de console om het resultaat te zien.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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
Code bewerken en uitvoeren