Recall & Review
beginner
What is the S3 object system in R?
The S3 object system is a simple and informal way to implement object-oriented programming in R. It allows you to create objects and define methods that behave differently depending on the object's class.
Click to reveal answer
beginner
How do you create an S3 object in R?
You create an S3 object by assigning a class attribute to a list or other R object using the class() function, for example: <code>obj <- list(a = 1); class(obj) <- "myclass"</code>.Click to reveal answer
intermediate
What is a generic function in the S3 system?
A generic function is a function that decides which method to call based on the class of its input. It uses the UseMethod() function to dispatch the correct method.Click to reveal answer
intermediate
How do you define a method for an S3 class?
You define a method by creating a function named as
generic.class. For example, for generic print and class myclass, define print.myclass <- function(x) { ... }.Click to reveal answer
intermediate
What happens if no specific method exists for an S3 class?
If no specific method exists for the class, R uses the default method named
generic.default. If that is missing, it may give an error or fallback behavior.Click to reveal answer
How do you assign a class to an object in S3?
✗ Incorrect
In S3, you assign a class by setting the class attribute with the class() function.
What function is used inside a generic to dispatch methods in S3?
✗ Incorrect
UseMethod() is the function that dispatches the correct method based on the object's class.
How is an S3 method named for a generic 'summary' and class 'data'?
✗ Incorrect
S3 methods are named as generic.class, so for generic 'summary' and class 'data', it's 'summary.data'.
What type of object is commonly used as an S3 object?
✗ Incorrect
Lists are commonly used as S3 objects because they can hold multiple named elements.
What happens if you call a generic function on an object with no matching method?
✗ Incorrect
If no specific method exists, R tries to use the generic.default method if it exists.
Explain how the S3 object system works in R and how method dispatch is handled.
Think about how R decides which function to run based on an object's class.
You got /4 concepts.
Describe the steps to create a new S3 class and define a print method for it.
Start from making a list and end with printing it using your method.
You got /4 concepts.