Redefining arithmetic operations
The last topic that we're going to examine is how to define basic arithmetic operations on assignments. In particular, we'll examine how to perform arithmetic operations on two NumericGrade
objects and how to add a set of values to a NumericGrade
object. This can be done in the R environment by extending one of the sets of generic groups that is used to collect similar operations. The different groups include the Arith
, Compare
, Ops
, Logic
, Math
, Math2
, Summary
, and Complex
groups. The Ops
group includes the Arith
, Compare
, and Logic
operations, and we extend this group to include objects from the NumericGrades
class.
We use the setMethod
function for the Ops
group to define operations involving NumericGrade
objects. The resulting function obtains the grades and performs the requisite operation using the callGeneric
command. The quirk of the system is that it must return a NumericGrade
object, and the last step is to set the value of the grades...