Skip to content

Releases: krassowski/complex-upset

v1.0.2

04 Jan 19:00
Compare
Choose a tag to compare

This is a bug-fix only release. All users on 1.0.x are recommended to upgrade to this version.

Bug fixes:

  • Fixed regression of non-observed sets causing "no vector columns were selected" caused by fix addressing #90
  • Reduced length of file names for some test doppelgangers

v1.0.1

04 Jan 17:09
Compare
Choose a tag to compare

This is a bug-fix only release. All users on 1.0.0 are recommended to upgrade to this version.

Bug fixes:

  • Filtering by degree when using non-default mode and intersections='all' now correctly accounts for all observations (#89)
  • Empty sets/groups are now correctly removed when filtering with a non-default mode (#90)
  • Missing values are now converted to FALSE and a warning is issued to the user rather than causing an undefined behavior (#88)

v1.0.0

30 Dec 03:03
Compare
Choose a tag to compare

Changes:

  • Lists with computed sizes are now returned in a single list called sizes by upset_data()
  • Set sizes are now not filtered by default when selecting intersections by min_* or max_* criteria. Pass filter_intersections=TRUE to upset_set_sizes() to restore the previous behavior
  • Union sizes are now calculated before data trimming which provides more accurate ratio estimates
  • Added examples for Venn diagrams which are now covered by automated tests to protect against regressions
  • Removed upset_data() intersected member to avoid needless duplication of the data frames; access with_sizes instead
  • aest argument of intersection_size() and related functions was renamed to mapping and is now the first positional argument
  • min_max_early argument is no longer required and was removed

New features:

  • Annotations can now access data for any of the available modes by adding upset_mode() layer. By default the annotations are given data corresponding to the same mode as the mode of the passed in the upset() call.
  • It is now possible to display all intersections, even if those are not present in the data by passing intersections='all' to upset(); this is only feasible for <20 sets, but filtering by degree can allow to explore a subset of all intersections when there are many more sets; this is only useful for modes different from the default exclusive intersection.
  • If filtering leads to no intersections, an informative error is shown (#80)

Bug fixes:

  • Modes passed to upset() are now also used for sorting and trimming
  • Size calculation for modes was optimized for better performance
  • User-added layers are now shown on top of intersection_size() and intersection_union()
  • Column names are no longer modified when supplying to ggplot2 allowing to easily use them in annotations (#82)

v0.9.0

20 Dec 23:48
19a6f29
Compare
Choose a tag to compare

New features:

  • Intersection modes were formalized with the default remaining exclusive_intersection (alias distinct); additional modes are: inclusive_intersection (alias intersect), inclusive_union and exclusive_union; please read the relevant part of the documentation for details (#78).
    image
  • Simple Venn diagrams (for two or three sets) can now be constructed using same input (binary presence data frame) using pseudo geoms: geom_venn_circle(), geom_venn_label_region(), geom_venn_label_set(), geom_venn_region() and scales scale_color_venn_mix() and scale_fill_venn_mix(); while developed mostly for the documentation needs, it provides unique capability of highlighting relevant regions of the Venn diagram and placing observations within appropriate regions (which allows to demonstrate their attributes with appropriate aesthetics mapping).

    image

Changes:

  • Breaking: union size for "empty" intersection is now equal to its size

Bug fixes:

  • Layers added to upset_set_size() and intersection_matrix() will now always go on top (avoiding geoms being hidden underneath)
  • Declare layer in NAMESPACE to allow basic usage without loading ggplot2
  • upset_query() will now throw an informative error when the user forgets to pass any aesthetics (#79)

v0.8.0

06 Dec 21:27
Compare
Choose a tag to compare

New features:

  • Breaking: geom of upset_set_size() now accepts geom object (e.g. geom_bar()) rather than a function (e.g. geom_bar)
  • Breaking: upset_set_size() no longer accepts variadic arguments (...); please modify the geom instead
  • Data available for upset_set_size() now includes all metadata of the original data frame, enabling to annotate the bars, e.g.:
    • upset_set_size(geom=geom_bar(aes(fill=mpaa, x=group)))
  • Intersections can now be sorted by multiple criteria, e.g. first by degree and then by cardinality: sort_intersections_by=c('degree', 'cardinality') (#47)
  • Breaking: dot_size argument was removed. Use matrix=intersection_matrix(geom=geom_point(size=5)) instead
  • Intersection matrix can now be customized, including the points (e.g. changing shape to squares), segments (e.g. using dotted line) and outlines (changing color) allowing to create Example 5.4:

Bug fixes:

  • Additional geoms added to upset_set_size() are now added on top of stripes, thus properly visible

v0.7.4

06 Dec 16:35
Compare
Choose a tag to compare
  • significant performance improvements, especially for large datasets and group_by (#12)
  • set sizes can now be moved to the right side of the plot using upset_set_size(position='right')
  • guides='over' can be now passed to upset() to place the legends over the set sizes

v0.7.3

05 Dec 17:59
Compare
Choose a tag to compare
  • address CRAN review comments (see #68)
  • add CITATION file

v0.4.0

28 Mar 15:45
Compare
Choose a tag to compare

New features:

  • Sorting (descending/ascending/none) by degree/cardinality/ratio #18 #13 #10
  • Selective themes customization #13
  • Set size customization including rotations, log, ticks and more #11
  • Added roxygen-based documentation and reference

v0.3.0

11 Mar 01:03
Compare
Choose a tag to compare

New features added:

  • percentage display option
  • highlighting (#2)
  • max_size (#5)

v0.2.0

09 Mar 15:51
Compare
Choose a tag to compare
Release 0.2.0