juliaearth / coda.jl Goto Github PK
View Code? Open in Web Editor NEWCompositional data analysis in Julia
License: MIT License
Compositional data analysis in Julia
License: MIT License
I think we can drop the dependency on static arrays and use plain named tuples moving forward. Given that composition objects are never treated as plain vectors, we don't gain much from the default linear algebra behavior of static arrays.
This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml
to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
The UnicodePlots.jl has become a heavy dependency as explained here:
JuliaPlots/UnicodePlots.jl#291
Maybe we should consider copying the code for bar plots to CoDa.jl (with appropriate credits) and drop UnicodePlots.jl from our list of dependencies. I didn't have time to investigate the code yet, but it is good way forward to make this package more slim and self-contained in the future.
As discussed in a PR, it would be nice to improve the option to read:
compose(table, codanames=(:a,:b,:c)=>:coda)
These functions aren't tested. It would be nice to add some basic tests.
It may be convenient to preserve the name of the parts in the composition. This could be useful for IO methods for example.
This is a first good issue for new contributors.
As discussed in a recent PR, it seems that we should think more seriously about the corner case when a part of a composition is zero. Various operations with log fail, and one possible solution is to always add a eps()
. Alternatively, we could consider adding this eps()
at the composition constructor.
cc: @mralbu
Hi!
I am trying to play around with this package in the ultimate goal to make a biplot after my log-ratio transformation. Biplot.jl is listed as a potential candidate to make the plotting part but I am struggling to make the link with the 2 packages. And I would also like to understand the benefit to work with CoDaArray compared to a Table from TableTransforms.jl (both packages are new for me). Is CoDaArray kinda useful only if I want to use operations on them?
Here is what I tried with a simple MWE:
table = (SiO2=[0.728,0.725,], TiO2=[0.005,0.005], Al2O3=[0.143, 0.145], Fe2O3=[0.032, 0.032], MnO=[0.001, 0.001], MgO=[0.010, 0.010], CaO=[0.018, 0.022], Na2O=[0.032, 0.034], K2O=[0.003, 0.027])
ctable = compose(table)
table_clr = ctable.coda |> CLR()
# or ctable_clr = clr.(ctable.coda)?
So at the end I am using TableTransforms.jl syntax. Which mean that I could also do a PCA which should be compatible with Biplot.jl?
table_clr_PCA = table_clr |> PCA()
But looking at the exemple on Biplot.jl, it seems to me that it is doing the transformation under the hood before the plotting. So I am a bit confused to what I should give Biplot.jl.
Don't hesitate to tell me if I should more ask the question on TableTransforms.jl or Biplot.jl!
The package currently exports functions such as components
, which conflict with widely used packages such as Distributions.jl. We need to unexport most of these functions given that users don't need them usually if they are using the package correctly.
Future use would require an explicit prefix as in CoDa.components
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.