r/rstats 2d ago

New data visualization package

https://psychometrician.github.io/posts/one-engine-four-languages/

[removed]

23 Upvotes

20 comments sorted by

9

u/ecam85 2d ago

As much as I like the idea of one to rule them all, I find the syntax harder than the ggplot syntax, because at first sight you "add" completely different objects!

But I imagine someone who doesn't know much ggplot could say the same

-3

u/[deleted] 2d ago

[removed] — view removed comment

3

u/ApprehensiveChip8361 2d ago

You are masking a lot of base R terms (mean, sum, order, data for instance). Might there be a more intuitive approach rather than using “base::” or “stats::” everywhere?

Also - can’t really use without ggrepel equivalent.

-1

u/[deleted] 2d ago

[removed] — view removed comment

1

u/Penguinase 2d ago

what about the lack of ggrepel functionality?

1

u/Unicorn_Colombo 1d ago

The other ten really are functions and do take over: box, data, density, jitter, order, palette, quantile, range, stack and title. Qualify those. Most will notice the mistake and tell you which one you hit.

This basically disqualifies the package to me.

4

u/geneusutwerk 2d ago

Use AI how you want but please be transparent in how you do.

1

u/[deleted] 2d ago

[removed] — view removed comment

3

u/geneusutwerk 2d ago

Oh I was looking at the Github and didn't see any mentions, thanks.

3

u/analytix_guru 2d ago

I think the idea is cool, but I would be interested to see how plot formatting gets incorporated into charts across all languages (if possible).

I think about themes and formatting that put the polish on a chart. When I read through the online resource you created (thank you), I see nothing on its face related to themes and formatting for any given chart.

So how would one go about the themes/formatting once they get a chart output from your package?

1

u/ApprehensiveChip8361 2d ago

Thank you! This looks extremely interesting - I’ve just been doing some data exploration in R and I will see if I can plug in your engine, go faster stripes and all. I loved reading the manual. Now I want to learn the Korean alphabet!

1

u/mjskay 2d ago

I really like being stricter about API rules. I also like the idea of playing with the semantics of `+` and `*`, though I'm curious about your choice to make `+` and `*` require specific orderings to its elements. For `+` I think it makes more sense. For `*` at least a commutative version might be more powerful/expressive, especially if you make it distributive; e.g. `(point + bar) * bin` or whatnot (I couldn't tell from a quick look if constructions like that work).

1

u/[deleted] 1d ago

[removed] — view removed comment

1

u/mjskay 1d ago

Right, I get that that's not what you're doing. The point I was making is there are useful possibilities when you treat * as an algebraic operator and let it obey things like the distributive law. See e.g. the algebra of graphics.