rrrlw / TDAstats

R pipeline for computing persistent homology in topological data analysis. See https://doi.org/10.21105/joss.00860 for more details.
https://rrrlw.github.io/TDAstats
GNU General Public License v3.0
37 stars 8 forks source link

stat and geom layers #9

Closed corybrunson closed 5 years ago

corybrunson commented 5 years ago

Would it make sense to supplement the plot_*() shorthands with stat_*() and geom_*() layers that perform the transformation and visualization duties separately? This would allow users to

Since the plot_*() functions don't require a specific class of data frames (just recognizable column names), this could, i think, be done without any changes to current functionality.

rrrlw commented 5 years ago

Yes, this is an excellent point, and I have been developing a potential package (tentatively named ggtda) that implements the mentioned stats and geoms, but it's turning out to be more challenging that I expected :/ will link to the repo once a development version is ready; although I will be pretty inactive for the next few weeks, if you're interested in contributing to ggtda, comment below and I'll be happy to invite you to the repo as a collaborator!

rrrlw commented 5 years ago

Currently, any 3-by-n numeric matrix with columns named "dimension", "birth", and "death" (I don't think order matters) should be compatible with the plot_persist and plot_barcode functions, although I will take your suggestion and attempt to generalize them to make plotting easier for persistent homology calculated outside of TDAstats

corybrunson commented 5 years ago

You're right, most of what i itemized can be done currently, which i realized after posting. Though i do think/agree that the functionality becomes more accessible when it fits into the existing popular framework.

I'm excited to hear about ggtda! Do you anticipate incorporating TDA methods beyond persistence homology as they are developed, e.g. statistical Reeb graphs? I'd be delighted to work with you on it!

rrrlw commented 5 years ago

Issue is being addressed with the ggtda repo.