Git Product home page Git Product logo

Comments (10)

krassowski avatar krassowski commented on May 28, 2024 1

Reopening to remember to export it in next version. You are running latest version which is on CRAN

from complex-upset.

krassowski avatar krassowski commented on May 28, 2024

Yes! Here is an example:

(load the data, packages, ggplot2)
library(ggplot2)
library(ComplexUpset)

movies = ggplot2movies::movies
movies[movies$mpaa == '', 'mpaa'] = NA
movies = movies[complete.cases(movies), ]
genres = c(
    'Action', 'Animation', 'Comedy', 'Drama',
    'Documentary', 'Romance', 'Short'
)
isize = intersection_size(bar_number_threshold=1)
isize$geom = c(
    isize$geom,
    scale_y_log10()
)

upset(
    movies, genres, name='genre', min_size=100,
    base_annotations =list(
        'Intersection size'=isizea
    )
)

Screenshot from 2020-06-29 10-20-54

While this currently is a two-step process, it will be even easier in the next version of ComplexUpset.

from complex-upset.

samlipworth avatar samlipworth commented on May 28, 2024

Great! thanks again for another speedy and helpful response!

from complex-upset.

b-tierney avatar b-tierney commented on May 28, 2024

Hi -- apologies for opening up this old item, but I'm having an odd issue -- when implementing the above lines to log the intersection size, I'm getting empty bars on my plot, though the intersection counts are showing up.

I know this is a trivial error, but I'm having a hard time finding any way to address it...maybe it's some config issue in my R studio setup?

Thanks in advance.

Screen Shot 2022-12-18 at 2 57 51 PM

from complex-upset.

krassowski avatar krassowski commented on May 28, 2024

@b-tierney indeed the old solution does not work. Here is a link to a working one: https://stackoverflow.com/a/74413990/6646912

from complex-upset.

b-tierney avatar b-tierney commented on May 28, 2024

Ah I see thank you! One thing -- that function, get_mode_presence, doesn't appear to be exported from the complex upset namespace. Is my version out of date? Or should I hard code it somewhere.

from complex-upset.

krassowski avatar krassowski commented on May 28, 2024

ComplexUpset:::get_mode_presence ?

from complex-upset.

b-tierney avatar b-tierney commented on May 28, 2024

Ah lovely I got it -- I just manually defined the following three functions in my script, pulled from from the git repo

check_argument = function(
    value,
    allowed,
    description
) {
    if (!(value %in% allowed)) {
        stop(
            paste0(
                description,
                ' has to be one of: ',
                paste(allowed, collapse=' or '),
                ', not "',
                value,
                '"'

            )
        )
    }
}


solve_mode = function (mode) {
  check_argument(
      mode,
      allowed = c(
          'exclusive_intersection', 'distinct',
          'inclusive_intersection', 'intersect',
          'exclusive_union', # no alias
          'inclusive_union', 'union'
      ),
      'mode'
  )

    # resolve aliases
    mode = switch(
        mode,
        distinct='exclusive_intersection',
        intersect='inclusive_intersection',
        union='inclusive_union',
        mode
    )
}


get_mode_presence = function(mode, prefix='in_', symbol=TRUE) {
    column = paste0(prefix, solve_mode(mode))
    if (symbol) {
        sym(column)
    } else {
        column
    }
}

from complex-upset.

b-tierney avatar b-tierney commented on May 28, 2024

not found -- but maybe it's a versioning thing...regardless tossing those three in there did the trick

from complex-upset.

b-tierney avatar b-tierney commented on May 28, 2024

Ah yes looks like I'm running 1.3.3 -- sorry about that, really thought I'd updated yesterday. In any case, all is well, and thank you for the quick response + the stellar work!

from complex-upset.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.