Skip to content

Tidier.jl roadmap #81

@kdpsingh

Description

@kdpsingh

I thought it would be useful to have a pinned issue that summarizes which function/macros we are working on building out, and which tidyverse (or related) package they comes from. This doesn’t represent the entire set of functions we need to capture but is intended to give a sense of direction for this project.

Note one key difference in function names below between Tidier.jl and tidyverse: Tidier.jl functions relating to data types are named after the Julia types and not after R types. This is because the data types aren't consistent across languages, and Julia allows for more granularity than R. For example, we plan to use as_string() in Tidier.jl rather than as_character() because strings are collections of characters in Julia.

dplyr

tidylog

forcats

We are using the categorical type from CategoricalArrays.jl, so functions will be prefixed with cat_* instead of fct_*.

  • categorical and as_categorical
  • cat_rev
  • cat_reorder
  • cat_infreq
  • cat_relevel
  • cat_lump

ggplot2

  • Lots to handle, will do initial implementation using AlgebraOfGraphics.jl - @kdpsingh

lubridate

  • support for mdy, dmy, and ymd functions, along with counterparts that support *_hms.

Developer resources

  • Put together style guide for macros in Tidier.jl
  • Develop contributor guide and code of conduct
  • Adopt JuliaFormatter style for this package, keeping in mind tidyverse style guide conventions

Strategic decisions to revisit

  • Should we spin this package off into its own org?
  • Should we convert Tidier.jl into a meta-package that re-exports underlying packages TidierData.jl and TidierPlots.jl? This is something we may want to consider if other packages start to depend on Tidier.jl. Once AlgebraOfGraphics and CairoMakie are included as dependencies, this package will get quite hefty.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions