Skip to content

Commit

Permalink
Add Tidier/R comparison, first case scenario
Browse files Browse the repository at this point in the history
  • Loading branch information
M-PERSIC committed Sep 25, 2023
1 parent 2d6b9c0 commit 66d5f5c
Show file tree
Hide file tree
Showing 10 changed files with 107 additions and 62 deletions.
1 change: 0 additions & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ makedocs(
clean = true,
doctest = false,
draft = false,
strict = true,
# TODO expand (https://github.com/SciML/SciMLDocs/blob/0fa5c9c43cf768588124861e76c7854e671ad9d7/docs/make.jl#L29C1-L29C63)
format = Documenter.HTML(assets=["assets/favicon.ico"]),
pages = [
Expand Down
File renamed without changes
20 changes: 10 additions & 10 deletions docs/src/comparisons/bioconductor.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,27 @@

**A few package/ecosystem equivalents between Julia and R:**

| Application | Julia | R |
|:---------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------|
| Data manipulation/analysis | [DataFrames](https://dataframes.juliadata.org/stable/), [CSV](https://csv.juliadata.org/stable/), [Query](https://www.queryverse.org/Query.jl/stable/) | `tibble`, `dplyr` |
| Plotting/visualization | [Gadfly](http://gadflyjl.org/stable/), [VegaLite](https://www.queryverse.org/VegaLite.jl/stable/), [Makie](https://docs.makie.org/stable/) | `ggplot2`, `vegalite`, `plotly` |
| Statistical analysis | [Statistics](https://docs.julialang.org/en/v1/stdlib/Statistics/), [HypothesisTests](https://github.com/JuliaStats/HypothesisTests.jl), [GLM](https://github.com/JuliaStats/GLM.jl) | `stats` |
| Machine learning | [Flux](https://fluxml.ai/Flux.jl/stable/), [SciML](https://sciml.ai/), [Zygote](https://fluxml.ai/Zygote.jl/stable/) | `mlr3`, `caret`, `tidymodels`, `Deriv` |
| Numerical mathematics | [LinearAlgebra](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/), [IterativeSolvers](https://iterativesolvers.julialinearalgebra.org/dev/) | `Matrix`, `pracma`, `deSolve` |
| Web applications | [Genie](https://genieframework.com/), [Franklin](https://franklinjl.org/) | `shiny` |
| Application | Julia | R |
|:---------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------|
| Data manipulation/analysis | [DataFrames](https://dataframes.juliadata.org/stable/), [CSV](https://csv.juliadata.org/stable/), [Query](https://www.queryverse.org/Query.jl/stable/), [Tidier](https://tidierorg.github.io/Tidier.jl/dev/) | `tibble`, `dplyr`, `tidyverse` |
| Plotting/visualization | [Gadfly](http://gadflyjl.org/stable/), [VegaLite](https://www.queryverse.org/VegaLite.jl/stable/), [Makie](https://docs.makie.org/stable/), [TidierPlots](https://github.com/TidierOrg/TidierPlots.jl) | `ggplot2`, `vegalite`, `plotly` |
| Statistical analysis | [Statistics](https://docs.julialang.org/en/v1/stdlib/Statistics/), [HypothesisTests](https://github.com/JuliaStats/HypothesisTests.jl), [GLM](https://github.com/JuliaStats/GLM.jl) | `stats` |
| Machine learning | [Flux](https://fluxml.ai/Flux.jl/stable/), [SciML](https://sciml.ai/), [MLJ](https://alan-turing-institute.github.io/MLJ.jl/stable/), [Zygote](https://fluxml.ai/Zygote.jl/stable/) | `mlr3`, `caret`, `tidymodels`, `Deriv` |
| Numerical mathematics | [LinearAlgebra](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/), [IterativeSolvers](https://iterativesolvers.julialinearalgebra.org/dev/) | `Matrix`, `pracma`, `deSolve` |
| Web applications | [Genie](https://genieframework.com/), [Franklin](https://franklinjl.org/) | `shiny` |

**A few notable differences between Julia and R:**

| Julia | R |
|:-----------------------------------------------------------------------|:---------------------------------------------------------------------------------|
| High-level, general-purpose compiled language | High-level, interpreted language for statistical computing |
| Dynamically typed with multiple dispatch and optional type annotations | Dynamically typed without type annotations support |
| Built-in parallelism via threads, coroutines (Tasks) | Parallelism via external libraries (BLAS, `parallel`,...) |
| Built-in parallelism via threads, coroutines (Tasks) | Parallelism via external libraries (BLAS, `parallel`,...) |
| Extensive metaprogramming (Lisp-like macros, generated functions,...) | Less extensive metaprogramming (function factories, expression manipulation,...) |
| Single implementation available (JuliaLang) | Multiple implementations available (pqR, Renjin,...) |

**To transition from R to Julia:**
- See [Noteworthy differences from R](https://docs.julialang.org/en/v1/manual/noteworthy-differences/#Noteworthy-differences-from-R) in the Julia manual for a more in-depth comparison
- Use [RCall.jl](https://github.com/JuliaInterop/RCall.jl.git) to seamlessly integrate R code into your Julia project
- Use [JuliaCall](https://cran.r-project.org/web/packages/JuliaCall/readme/README.html) to seamlessly integrate Julia code into your R project

- Check out the [Tidier.jl ecosystem](https://tidierorg.github.io/Tidier.jl/dev/) for packages similar to those commonly found in `tidyverse`
4 changes: 2 additions & 2 deletions docs/src/comparisons/biojava.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
| Application | Julia | Java |
|:---------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------|
| Data manipulation/analysis | [DataFrames](https://dataframes.juliadata.org/stable/), [CSV](https://csv.juliadata.org/stable/), [Query](https://www.queryverse.org/Query.jl/stable/) | `Tablesaw` |
| Plotting/visualization | [Plots](https://docs.juliaplots.org/stable/), [Makie](https://docs.makie.org/stable/) | `JFreeChart`, `Jzy3d` |
| Plotting/visualization | [Plots](https://docs.juliaplots.org/stable/), [Makie](https://docs.makie.org/stable/), [TidierPlots](https://github.com/TidierOrg/TidierPlots.jl) | `JFreeChart`, `Jzy3d` |
| Statistical analysis | [Statistics](https://docs.julialang.org/en/v1/stdlib/Statistics/), [HypothesisTests](https://github.com/JuliaStats/HypothesisTests.jl) | `Statistics (Apache Commons)`, `NM Dev` |
| Machine learning | [Flux](https://fluxml.ai/Flux.jl/stable/), [SciML](https://sciml.ai/) | `Java-ML`, `Neuroph` |
| Machine learning | [Flux](https://fluxml.ai/Flux.jl/stable/), [SciML](https://sciml.ai/), [MLJ](https://alan-turing-institute.github.io/MLJ.jl/stable/) | `Java-ML`, `Neuroph` |
| Numerical mathematics | [LinearAlgebra](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/) | `NM Dev` |
| Notebook/report generator | [IJulia](https://julialang.github.io/IJulia.jl/stable/), [Pluto](https://plutojl.org/) | `IJava` |
| Web applications | [Genie](https://genieframework.com/), [Franklin](https://franklinjl.org/) | `Grails`, `Javalin` |
Expand Down
2 changes: 1 addition & 1 deletion docs/src/comparisons/bioperl.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
| Application | Julia | Perl5 |
|:---------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------|
| Data manipulation/analysis | [DataFrames](https://dataframes.juliadata.org/stable/), [CSV](https://csv.juliadata.org/stable/), [Query](https://www.queryverse.org/Query.jl/stable/) | `PDL`, `Text-CSV` |
| Plotting/visualization | [Plots](https://docs.juliaplots.org/stable/), [Gadfly](http://gadflyjl.org/stable/), [Makie](https://docs.makie.org/stable/) | `GDGraph`, `Chart-GGPlot` |
| Plotting/visualization | [Plots](https://docs.juliaplots.org/stable/), [Gadfly](http://gadflyjl.org/stable/), [Makie](https://docs.makie.org/stable/), [TidierPlots](https://github.com/TidierOrg/TidierPlots.jl) | `GDGraph`, `Chart-GGPlot` |
| Statistical analysis | [Statistics](https://docs.julialang.org/en/v1/stdlib/Statistics/), [HypothesisTests](https://github.com/JuliaStats/HypothesisTests.jl), [GLM](https://github.com/JuliaStats/GLM.jl) | `Statistics-Descriptive`, `PDL-Stats` |
| Numerical mathematics | [LinearAlgebra](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/), [Symbolics](https://symbolics.juliasymbolics.org/stable/) | `PDL-LinearAlgebra`, `Math-Symbolic` |
| Notebook/report generator | [IJulia](https://julialang.github.io/IJulia.jl/stable/), [Pluto](https://plutojl.org/) | `Devel-IPerl` |
Expand Down
20 changes: 10 additions & 10 deletions docs/src/comparisons/biopython.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@

**A few package/ecosystem equivalents between Julia and Python3:**

| Application | Julia | Python3 |
|:---------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------|
| Data manipulation/analysis | [DataFrames](https://dataframes.juliadata.org/stable/), [CSV](https://csv.juliadata.org/stable/), [Query](https://www.queryverse.org/Query.jl/stable/) | `pandas`, `Blaze` |
| Plotting/visualization | [Plots](https://docs.juliaplots.org/stable/), [Gadfly](http://gadflyjl.org/stable/), [Makie](https://docs.makie.org/stable/) | `matplotlib`, `seaborn`, `bokeh`, `plotnine`, `VisPy` |
| Statistical analysis | [Statistics](https://docs.julialang.org/en/v1/stdlib/Statistics/), [HypothesisTests](https://github.com/JuliaStats/HypothesisTests.jl), [GLM](https://github.com/JuliaStats/GLM.jl) | `SciPy`, `statsmodels` |
| Machine learning | [Flux](https://fluxml.ai/Flux.jl/stable/), [SciML](https://sciml.ai/), [Zygote](https://fluxml.ai/Zygote.jl/stable/) | `PyTorch`, `TensorFlow`, `scikit-learn`, `JAX` |
| Numerical mathematics | [LinearAlgebra](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/), [Symbolics](https://symbolics.juliasymbolics.org/stable/) | `NumPy`, `SciPy`, `SymPy` |
| Notebook/report generator | [IJulia](https://julialang.github.io/IJulia.jl/stable/), [Pluto](https://plutojl.org/), [Weave](https://weavejl.mpastell.com/stable/) | `IPython`, `Jupyter Book` |
| Web applications | [Genie](https://genieframework.com/), [Franklin](https://franklinjl.org/) | `Django`, `Flask`, `Pelican`, `Dash` |
| Application | Julia | Python3 |
|:---------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------|
| Data manipulation/analysis | [DataFrames](https://dataframes.juliadata.org/stable/), [CSV](https://csv.juliadata.org/stable/), [Query](https://www.queryverse.org/Query.jl/stable/) | `pandas`, `Blaze` |
| Plotting/visualization | [Plots](https://docs.juliaplots.org/stable/), [Gadfly](http://gadflyjl.org/stable/), [Makie](https://docs.makie.org/stable/), [TidierPlots](https://github.com/TidierOrg/TidierPlots.jl) | `matplotlib`, `seaborn`, `bokeh`, `plotnine`, `VisPy` |
| Statistical analysis | [Statistics](https://docs.julialang.org/en/v1/stdlib/Statistics/), [HypothesisTests](https://github.com/JuliaStats/HypothesisTests.jl), [GLM](https://github.com/JuliaStats/GLM.jl) | `SciPy`, `statsmodels` |
| Machine learning | [Flux](https://fluxml.ai/Flux.jl/stable/), [SciML](https://sciml.ai/), [MLJ](https://alan-turing-institute.github.io/MLJ.jl/stable/), [Zygote](https://fluxml.ai/Zygote.jl/stable/) | `PyTorch`, `TensorFlow`, `scikit-learn`, `JAX` |
| Numerical mathematics | [LinearAlgebra](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/), [Symbolics](https://symbolics.juliasymbolics.org/stable/) | `NumPy`, `SciPy`, `SymPy` |
| Notebook/report generator | [IJulia](https://julialang.github.io/IJulia.jl/stable/), [Pluto](https://plutojl.org/), [Weave](https://weavejl.mpastell.com/stable/) | `IPython`, `Jupyter Book` |
| Web applications | [Genie](https://genieframework.com/), [Franklin](https://franklinjl.org/) | `Django`, `Flask`, `Pelican`, `Dash` |

**A few notable differences between Julia and Python3:**

Expand All @@ -41,6 +41,6 @@

**To transition from Python3 to Julia:**
- See [Noteworthy differences from Python](https://docs.julialang.org/en/v1/manual/noteworthy-differences/#Noteworthy-differences-from-Python) in the Julia manual for a more in-depth comparison
- Use [PythonCall.jl](https://github.com/cjdoris/PythonCall.jl.git)/[CondaPkg.jl](CondaPkg.jl) to seamlessly integrate Python3 code into your Julia project
- Use [PythonCall.jl](https://github.com/cjdoris/PythonCall.jl.git)/[CondaPkg.jl](https://github.com/JuliaPy/CondaPkg.jl.git) to seamlessly integrate Python3 code into your Julia project
- Use [juliacall](https://pypi.org/project/juliacall/) to seamlessly integrate Julia code into your Python3 project

Loading

0 comments on commit 66d5f5c

Please sign in to comment.