S7
AlgebraOfGraphics.jl
S7 | AlgebraOfGraphics.jl | |
---|---|---|
6 | 4 | |
436 | 457 | |
1.8% | 2.0% | |
9.3 | 9.3 | |
4 months ago | 10 days ago | |
R | Julia | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
S7
- Will they get it right this time?
-
Tidyverse 2.0.0
https://adv-r.hadley.nz/oo.html
"There are multiple OOP systems to choose from. In this book, I’ll focus on the three that I believe are most important: S3, R6, and S4. S3 and S4 are provided by base R. R6 is provided by the R6 package, and is similar to the Reference Classes, or RC for short, from base R.
"There is disagreement about the relative importance of the OOP systems. I think S3 is most important, followed by R6, then S4. Others believe that S4 is most important, followed by RC, and that S3 should be avoided. This means that different R communities use different systems."
https://rconsortium.github.io/OOP-WG/
"The S7 package is a new OOP system designed to be a successor to S3 and S4."
-
Is python necessary to learn machine learning?
Even if RStudio & the Tidyverse have mostly been promoting a functional programming style in R, it has full support for OOP (see R6 or R7 for more modern implementations of it). Let's not even mention the excellent Stan ecosystem for Probabilistic programming / Bayesian modeling, or Bioconductor, the biggest repository of bioinformatics packages & tools of any language.
-
Why is OOP in R so messy?
Not sure if you or others have missed it, as the link from the readme is dead, but the proposal section of that repo is informative of the current state of things: https://github.com/RConsortium/OOP-WG/blob/master/proposal/proposal.org
AlgebraOfGraphics.jl
- Makie, a modern and fast plotting library for Julia
-
Tidyverse 2.0.0
This illustrates the point perfectly. Julia is attempting this and has a beachhead with Dataframes.jl. Confusingly though, Tidier.jl isn't really analogous to R's Tidyverse. It's more like one of a handful of meta-packages around Dataframes.jl.
Then there are Grammar of Graphics (ggplot was Tidyverse's first star) style plotting libraries that Julia has been building. I'm probably most excited about Algebra of Graphics (https://github.com/MakieOrg/AlgebraOfGraphics.jl/) as part of the Makie Plots ecosystem. It does still feel a bit like Julia community can't decide between following Matplotlib or R's Grid/Ggplot approach.
The seeds of a Tidyverse for Julia are there, but it'll take some time to achieve the consistency and maturity of the original Tidyverse.
-
What Julia plotting library do you use/think will be the standard going forward?
Did you maybe overlook something, in https://github.com/JuliaPlots/AlgebraOfGraphics.jl or other package? I looked up "grid" and it seems to have something. I realize R, and ggplot2, were considered best by many (and Gadfly.jl similar, AoG seems to be its replacement?), but I didn't realize it had extensions (that you clarify below). At least you can call R, and thus use its plotting (and I assume its extensions too, can you confirm or deny?). For some reasons you got downvoted, so might you be ignorant of new developments in Julia (also Makie, to me it seemed excellent and I thought Julia caught up with plotting, and also had more options than other languages), or the others, or people simply very opinionated about plotting? It's about features, also speed/latency/TTFP, which is getting better.
-
Julia Update: Adoption Keeps Climbing; Is It a Python Challenger?
Julia has plenty of plotting solutions that are better for stats than matplotlib:
https://github.com/JuliaPlots/AlgebraOfGraphics.jl
What are some alternatives?
py-shiny - Shiny for Python
RCall.jl - Call R from Julia
stan - Stan development repository. The master branch contains the current release. The develop branch contains the latest stable development. See the Developer Process Wiki for details.
Chain.jl - A Julia package for piping a value through a series of transformation expressions using a more convenient syntax than Julia's native piping functionality.
dtplyr - Data table backend for dplyr
VegaLite.jl - Julia bindings to Vega-Lite