Really, syntax &quot;nba.head(1)&quot; is not any more &quot;object-oriented&quot; than &quot;head(nba, 1)&quot; -- it&#x27;s just syntax, and the R statement is in fact an application of R&#x27;s object system (there are several of them).<p>IMO, R&#x27;s system is actually more powerful and intuitive -- e.g. it is fairly straightforward to write a generic function dosomething(x,y) that would dispatch specific code depending on classes of both x and y.