[Bioc-devel] Use set.seed inside function

Martin Morgan mtmorg@n@b|oc @end|ng |rom gm@||@com
Tue Nov 30 12:58:50 CET 2021


Check out grDevices::hcl.pals (also https://www.zeileis.org/papers/Zeileis+Hornik+Murrell-2009.pdf) or the RColorBrewer package (also https://colorbrewer2.org) for principled selection of colors. Sounds like you're interested in 'qualitative' color palletes.

Martin Morgan

On 11/29/21, 4:23 PM, "Bioc-devel on behalf of Meng Chen" <bioc-devel-bounces using r-project.org on behalf of mengchen18 using gmail.com> wrote:

    Thanks. I think it may work in theory, generating "enough" distinct colors
    is fairly easy. Then the problem will be how to find a subset of colors of
    size n, and the selected colors are still most distinguishable. I think I
    will do this with my eyes if no other methods, a tedious job.
    But at least for my curiosity, I still want to know if there are other ways
    to achieve this. I feel like 80% of people who use the distinctColorPallete
    function actually don't need the "random" feature :) Thanks.

    On Mon, Nov 29, 2021 at 9:39 PM James W. MacDonald <jmacdon using uw.edu> wrote:

    > It appears that you don't actually want random colors, but instead you
    > want the same colors each time. Why not just generate the vector of 'random
    > distinct colors' one time and save the vector of colors?
    >
    > -----Original Message-----
    > From: Bioc-devel <bioc-devel-bounces using r-project.org> On Behalf Of Meng Chen
    > Sent: Monday, November 29, 2021 3:21 PM
    > To: bioc-devel using r-project.org
    > Subject: [Bioc-devel] Use set.seed inside function
    >
    > Dear BioC team and developers,
    >
    > I am using BiocCheck to check my package, it returns a warning:
    > " Remove set.seed usage in R code"
    >
    > I am using "set.seed" inside my functions, before calling function
    > distinctColorPalette (randomcoloR package) in order to generate
    > reproducible "random distinct colors". So what would be the best practice
    > to solve this warning? I think 1. use set.seed and don't change anything.
    > 2. use the set.seed function, but include something like below inside the
    > function *gl.seed <- .Random.seed* *on.exit(assign(".Random.seed", gl.seed,
    > envir = .GlobalEnv))* 3. use some other functions for the purpose
    >
    > Any suggestions will be appreciated. Thanks.
    > --
    > Best Regards,
    > Chen
    >
    >         [[alternative HTML version deleted]]
    >
    > _______________________________________________
    > Bioc-devel using r-project.org mailing list
    > https://stat.ethz.ch/mailman/listinfo/bioc-devel
    >


    -- 
    Best Regards,
    Chen

    	[[alternative HTML version deleted]]

    _______________________________________________
    Bioc-devel using r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel


More information about the Bioc-devel mailing list