TODO.md

TODO for jamba

22mar2024

24jan2024

10jan2024

17nov2023

24oct2023

03oct2023

28sep2023

27aug2023

22aug2023

17aug2023

10aug2023

08aug2023

11jul2023

05jul2023

12jun2023

23mar2023

22mar2023

27feb2023

06feb2023

04feb2023

10jan2023

28nov2022

14nov2022

19oct2022

14oct2022

04oct2022

27sep2022

01sep2022

26jul2022

20jul2022

18jul2022

07jul2022

17jun2022

25may2022

23may2022

22may2022

05may2022

19apr2022

02dec2021

29nov2021

22nov2021

04nov2021

mixedSortDF() currently allows applying reverse sort by using colname prefix "-". For numeric columns it is sometimes useful to sort the magnitude instead of the absolute value.

05oct2021

Simple utility function to load a common set of JAM packages

10aug2021

25jul2021

Functions to update

Vignettes for common small use cases

Usability

implement testthis unit testing

new functions

Bugs 28aug2020

Warning message: In if (fixYellow) { : the condition has length > 1 and only the first element will be used

Bugs 29jul2020

enhancements 29jul2020

migrate functions from other packages

Enhance writeOpenxlsx() 08may2020

Nice to have

Optimizations 29apr2020

Bug 02oct2019

General enhancements

Bug fixes / Enhancements to existing functions

  1. printDebug() probably needs a specific delimiter between lists. Currently collapse is accepted via ... but separates every entry.

new plotSmoothScatterG with grouped colors

  1. plotSmoothScatterG() a new function which would create a smooth scatter plot like plotSmoothScatter() except that it will also allow coloring points by group. The previous closest estimate was the ability to overlay contours of different colors, however the transparency of each layer is not effective, the last color layer drawn becomes the dominant color. This function essentially creates a layer for each color, then blends them into one collective layer. Each layer should probably be a weight applied to each layer of colors, in order to avoid blending the paleness become dominant. The point color will be determined by the weighted color blend, the intensity of the color as a gradient starting from background color will be determined by the sum of the weights, relative to the rest of the plot.

Required secondary functions:

Commentary: Does any one color space blend red + yellow = orange and blue + yellow = green? Maybe polarLUV. Others either blend blue + yellow into grey or purple ... makes zero sense (to me).

  1. printDebug() option for HTML or Rmarkdown-friendly output. Note this feature seems to work when producing HTML output from Rmarkdown.

  2. jargs() is choking on certain argument formats:

    • When an argument is a prefixed function, the :: should not have spaces before and after. f <- function(x=jamba::colorjam){10};jargs(f); It doesn't happen when the function has parentheses: f <- function(x=jamba::colorjam(a)){10};jargs(f);
    • There was another case of an empty argument being displayed where an actual argument existed for the function. I can't remember the exact conditions, but this is a placeholder for now.

testthat

Functions in jamba should have their various options tested using the package testthat to help maintain consistent performance for future package and R builds.

Functions to add

jam global re-usable options

The goal is to make it easier to set certain function parameters once as a global option, to make it more efficient for these parameters to be used in several functions. Per Hadley Wickham's recommendation, options should be restricted to non-analytical parameters, in order to maintain clear reproducible analysis workflows. That is, any analysis parameter should be defined clearly when the function is called, and should never use the value of a global option.

In fact, options that only change visual output may be preferred as global options, since they help support specific output and should not be hard-coded into the R script.

In general, visual themes may be good candidates for these parameters.

Nomenclature for jam package options

Jam package options should be named with the prefix "jam." followed by the name of the function argument. For example the function parameter "adjustRgb" would become "jam.adjustRgb".

Parameters proposed to become jam options

rbindList

imageByColors

color brightness and saturation handling



jmw86069/jamba documentation built on March 26, 2024, 5:26 a.m.