vis_cor() to use perceptually uniform colours from scico package, using scico::scico(3, palette = "vik").vis_cor() to have fixed legend values from -1 to +1 (#110) using options breaks and limits. Special thanks to this SO thread for the answerglue and glue_collapse() instead of paste and paste0usethis::use_spell_check()guess_parser, to not guess integer types by default. To opt-into the current behavior you need to pass guess_integer = TRUE.vis_compare() for comparing two dataframes of the same dimensionsvis_expect() for visualising where certain values of expectations occur in the data
vis_expectshow_perc arg to vis_expect to show the percentage of expectations that are TRUE. #73vis_cor to visualise correlations in a dataframevis_guess() for displaying the likely type for each cell in a dataframevis_expect to make it easy to look at certain appearances of numbers in your data.vis_cor to use argument na_action not use_op.vis_miss_ly - thanks to Stuart Leepaper.md for JOSSctb.Fix bug reported in #75 where vis_dat(diamonds) errored seq_len(nrow(x)) inside internal function vis_gather_, used to calculate the row numbers. Using mutate(rows = dplyr::row_number()) solved the issue.
Fix bug reported in #72 where vis_miss errored when one column was given to it. This was an issue with using limits inside scale_x_discrete - which is used to order the columns of the data. It is not necessary to order one column of data, so I created an if-else to avoid this step and return the plot early.
Fix visdat x axis alignment when show_perc_col = FALSE - #82
vis_cor didn’t gather variables for plotting appropriately - now fixed
vis_dat and vis_missadd_vis_dat_pal() (internal) to add a palette for vis_dat and vis_guessvis_guess now gets a palette argument like vis_datplotly vis_*_ly interactive graphs:
vis_guess_ly()vis_dat_ly()vis_compare_ly() These simply wrap plotly::ggplotly(vis_*(data)). In the future they will be written in plotly so that they can be generated much fastervis_* familyvis_ family are now flipped by defaultvis_miss now shows the % missingness in a column, can be disabled by setting show_perc_col argument to FALSEflip argument, as this should be the defaultvis_create_, vis_gather_ and vis_extract_value_.vdiffr. Code coverage is now at 99%goodpractice::gp()paper.md written and submitted to JOSSflip = TRUE, to vis_dat and vis_miss. This flips the x axis and the ordering of the rows. This more closely resembles a dataframe.vis_miss_ly is a new function that uses plotly to plot missing data, like vis_miss, but interactive, without the need to call plotly::ggplotly on it. It’s fast, but at the moment it needs a bit of love on the legend front to maintain the style and features (clustering, etc) of current vis_miss.vis_miss now gains a show_perc argument, which displays the % of missing and complete data. This is switched on by default and addresses issue #19.vis_compare is a new function that allows you to compare two dataframes of the same dimension. It gives a fairly ugly warning if they are not of the same dimension.vis_dat gains a “palette” argument in line with issue 26, drawn from http://colorbrewer2.org/, there are currently three arguments, “default”, “qual”, and “cb_safe”. “default” provides the ggplot defaults, “qual” uses some colour blind unfriendly colours, and “cb_safe” provides some colours friendly for colour blindness.1:rnow(x) and replaced with seq_along(nrow(x)).vis_miss_ly.vis_dat_ly, as it currently does not work.vis_guess() and vis_compare are very betavis_dat(), vis_miss(), vis_compare(), and vis_guess()vis_compare to be different to the ggplot2 standards.vis_miss legend labels are created using the internal function miss_guide_label. miss_guide_label will check if data is 100% missing or 100% present and display this in the figure. Additionally, if there is less than 0.1% missing data, “<0.1% missingness” will also be displayed. This sort of gets around issue #18 for the moment.miss_guide_label legend labels function.vis_miss, vis_dat, and vis_guess.vis_dat() to use purrr::dmap(fingerprint) instead of mutate_each_(). This solves issue #3 where vis_dat couldn’t take variables with spaces in their name.plotly::ggplotly! Funcions vis_guess(), vis_dat(), and vis_miss were updated so that you can make them all interactive using the latest dev version of plotly from Carson Sievert.vis_guess(), a function that uses the unexported function collectorGuess from readr.vis_miss() and vis_dat actually run