Remix.run Logo
teruakohatu 4 days ago

I love and use R, but it never became the dominant ML in part because it has three (or more) different object systems and many libraries sort of use their own style.

This makes it seem a bit disjointed, in a way that other languages don’t.

The R community should have anointed one object system and made tidyverse a core part of R.

All that said, R is fantastic and the depth of libraries is extensive. Libs are often written by the original researchers that develop the method. At some academic institutions an R package is counted as a paper.

paddleon 4 days ago | parent | next [-]

> The R community should have anointed one object system

> and made tidyverse a core part of R.

Not a tidyverse fan. It doesn't scale well.

Learn data.table, which has a much more R-like interface and is fast fast fast even for large data sizes. More powerful and more expressive than pandas, and again, faster

See https://cran.r-project.org/web/packages/data.table/vignettes...

mscbuck 4 days ago | parent | next [-]

And if you still prefer the language of tidyverse, use tidytable and you get the best of both worlds!

vovavili 4 days ago | parent | prev [-]

I think these days it might be wiser to use r-polars, in the very least because it has more available documentation around it.

mvieira38 4 days ago | parent | prev | next [-]

Agree 100% on tidyverse becoming part of the standard library. Some of the language's greatest libraries (like Hyndman's forecasting stuff) basically assume you're using tidyverse already

kjkjadksj 4 days ago | parent [-]

Screw that. I do everything that tidyverse does with the standard library already. No clue why the wheel had to be reinvented just to make a plot.

tylermw 4 days ago | parent | prev | next [-]

The developing S7 object system (https://github.com/RConsortium/S7) is looking fairly promising in that it combines many of the nice properties of S3 and S4 (validation, multiple dispatch, sane constructors) while still being fairly simple and straightforward to use.

northlondoner 4 days ago | parent [-]

Excellent news. Quite promising, but R's power is its been actually functional natively. Even binary operations are functions, `+`(x,y) would work as in x+y

clircle 4 days ago | parent | prev [-]

I have a feeling that most data scientists using R have no need to touch any of the object systems, hard to believe that would be a deal breaker.

teruakohatu 4 days ago | parent [-]

> most data scientists

It's hard to generalise for all data scientists everywhere, but that is not my experience.

Data transformation (80% of the job) is very functional and so objects systems don't matter much.

But when you are training neural nets in Python you are probably using a framework of some type. Torch in R looks very object orientation'y .

The issue is not that object orientation is fundamentally needed for data science, but when you install a random object orientated R library you get a random R object system or pseudo-object system that needs to be reasoned about.

It is a pity R didn't just ditch object systems or adopt a limited simple system like Lua's table approach.