There are several ways to write object oriented programming code in the R language. You can simulate OOP using a list of variables and functions. You can use the old S3 or S4 mechanisms. You can use the current standard technique of Reference Classes (RC). Or you can use the new add-on R6 package.
I coded up a Person class demo using the RC mechanism. The key calling code is:
cat("\nBegin R reference class demo \n\n")
p = PersonClass$new(lastName = "Smith",
dateBirth = "1990-03-17",
height = 68.5,
weight = as.integer(175))
a = p$getAge()
p$display()
cat("\n")
p$display(metric=TRUE)
cat("\n")
a = p$getAge()
cat("Age today = ", a, "\n")
cat("\nEnd demo \n")
The associated output is:
Begin R reference class demo Last name : Smith Birth date : 1990-03-17 Height : 68.5 in Weight : 175 lbs Last name : Smith Birth date : 1990-03-17 Height : 174 cm Weight : 79 kg Age today = 26 End demo
It was very easy for me to use RC classes because I have a ton of experience with OOP in other languages (C#, Java, Python in particular) and RC OOP somewhat resembles other OOP models.
The bottom line is that RC is my OOP mechanism of choice for the R language.

.NET Test Automation Recipes
Software Testing
SciPy Programming Succinctly
Keras Succinctly
R Programming
2026 Visual Studio Live
2025 Summer MLADS Conference
2026 DevIntersection Conference
2025 Machine Learning Week
2025 Ai4 Conference
2026 G2E Conference
2026 iSC West Conference
You must be logged in to post a comment.