Sean Porter
2015-Oct-27 13:42 UTC
[R] monte carlo simulations in permanova in vegan package
Hi Stephen and others, I am trying to run a one-way permanova where I have only 2 levels in the factor ?time?, and each level contains only 3 replicates. So because I have such few observations (6 in total) and levels (2) there are not enough possible permutations to get a reasonable test (i.e. (2*3)!/ [2!(3!)^2]. That is why for example if I run the analysis with only 99 permutations it completes the task. However, if I set the number of permutations to anything larger it returns the message ?'nperm' > set of all permutations; Resetting 'nperm'.? as the number of possible permutations exceeds the number set by the argument ?permutations=?. In PERMANOVA + for PRIMER there is a way of dealing with this issue ? by using Monte Carlo simulations to generate the p value with a reasonable number of permutations. Hopefully this clarifies my situation and aim? I was therefore hoping there was a way of coding for the Monte-Carlo permutation procedure into adonis? Thanks for your help! From: stephen sefick [mailto:ssefick at gmail.com] Sent: 27 October 2015 03:11 PM To: Sean Porter Cc: r-help at r-project.org Subject: Re: [R] monte carlo simulations in permanova in vegan package The example code works, and reports 9999 permutations. Can you provide more information? data(dune) data(dune.env) adonis(dune ~ Management*A1, data=dune.env, permutations=9999) On Tue, Oct 27, 2015 at 3:56 AM, Sean Porter <sporter at ori.org.za> wrote: Dear colleagues, I am trying to run a PERMANOVA in the vegan package with an appropriate number of permutations (see example below), ideally 9999. Obviously that number of permutations does not exists so I would like to use Monte Carlo permutation tests to derive the probability value, as is done in the commercial package PERMANOVA+ for PRIMER. How can I adapt my code so that adonis will do so ? Many thanks, Sean> permanova <- adonis(species ~ time, data = time, permutations=99,method="bray")> permanovaCall: adonis(formula = species ~ time, data = time, permutations = 99, method = "bray") Permutation: free Number of permutations: 99 Terms added sequentially (first to last) Df SumsOfSqs MeanSqs F.Model R2 Pr(>F) time 1 0.070504 0.070504 123.65 0.96866 0.01 ** Residuals 4 0.002281 0.000570 0.03134 Total 5 0.072785 1.00000 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> permanova <- adonis(species ~ time, data = time, permutations=999,method="bray") 'nperm' > set of all permutations; Resetting 'nperm'. [[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- Stephen Sefick ************************************************** Auburn University Biological Sciences 331 Funchess Hall Auburn, Alabama 36849 ************************************************** sas0025 at auburn.edu http://www.auburn.edu/~sas0025 ************************************************** Let's not spend our time and resources thinking about things that are so little or so large that all they really do for us is puff us up and make us feel like gods. We are mammals, and have not exhausted the annoying little problems of being mammals. -K. Mullis "A big computer, a complex algorithm and a long time does not equal science." -Robert Gentleman [[alternative HTML version deleted]]
Cade, Brian
2015-Oct-27 15:53 UTC
[R] monte carlo simulations in permanova in vegan package
Sean: There are only 20 possible combinations, 6!/(3! x 3!), so you just need to enumerate them completely (no Monte Carlo approximation required). I don't know if permanova() can do this but you can do it with the mrpp() functions and argument (,exact=TRUE) in Blossom package for R. Brian Brian S. Cade, PhD U. S. Geological Survey Fort Collins Science Center 2150 Centre Ave., Bldg. C Fort Collins, CO 80526-8818 email: cadeb at usgs.gov <brian_cade at usgs.gov> tel: 970 226-9326 On Tue, Oct 27, 2015 at 7:42 AM, Sean Porter <sporter at ori.org.za> wrote:> Hi Stephen and others, > > > > I am trying to run a one-way permanova where I have only 2 levels in the > factor ?time?, and each level contains only 3 replicates. So because I have > such few observations (6 in total) and levels (2) there are not enough > possible permutations to get a reasonable test (i.e. (2*3)!/ [2!(3!)^2]. > That is why for example if I run the analysis with only 99 permutations it > completes the task. However, if I set the number of permutations to > anything larger it returns the message ?'nperm' > set of all permutations; > Resetting 'nperm'.? as the number of possible permutations exceeds the > number set by the argument ?permutations=?. In PERMANOVA + for PRIMER there > is a way of dealing with this issue ? by using Monte Carlo simulations to > generate the p value with a reasonable number of permutations. Hopefully > this clarifies my situation and aim? > > > > I was therefore hoping there was a way of coding for the Monte-Carlo > permutation procedure into adonis? > > > > Thanks for your help! > > > > From: stephen sefick [mailto:ssefick at gmail.com] > Sent: 27 October 2015 03:11 PM > To: Sean Porter > Cc: r-help at r-project.org > Subject: Re: [R] monte carlo simulations in permanova in vegan package > > > > The example code works, and reports 9999 permutations. Can you provide > more information? > > > > data(dune) > data(dune.env) > adonis(dune ~ Management*A1, data=dune.env, permutations=9999) > > > > > > On Tue, Oct 27, 2015 at 3:56 AM, Sean Porter <sporter at ori.org.za> wrote: > > Dear colleagues, > > > > I am trying to run a PERMANOVA in the vegan package with an appropriate > number of permutations (see example below), ideally 9999. Obviously that > number of permutations does not exists so I would like to use Monte Carlo > permutation tests to derive the probability value, as is done in the > commercial package PERMANOVA+ for PRIMER. How can I adapt my code so that > adonis will do so ? Many thanks, Sean > > > > > permanova <- adonis(species ~ time, data = time, permutations=99, > method="bray") > > > permanova > > > > Call: > > adonis(formula = species ~ time, data = time, permutations = 99, > method > = "bray") > > > > Permutation: free > > Number of permutations: 99 > > > > Terms added sequentially (first to last) > > > > Df SumsOfSqs MeanSqs F.Model R2 Pr(>F) > > time 1 0.070504 0.070504 123.65 0.96866 0.01 ** > > Residuals 4 0.002281 0.000570 0.03134 > > Total 5 0.072785 1.00000 > > --- > > Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 > > > > > > > permanova <- adonis(species ~ time, data = time, permutations=999, > method="bray") > > 'nperm' > set of all permutations; Resetting 'nperm'. > > > > > > > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > > > > > > > -- > > Stephen Sefick > ************************************************** > Auburn University > Biological Sciences > 331 Funchess Hall > Auburn, Alabama > 36849 > ************************************************** > sas0025 at auburn.edu > http://www.auburn.edu/~sas0025 > ************************************************** > > Let's not spend our time and resources thinking about things that are so > little or so large that all they really do for us is puff us up and make us > feel like gods. We are mammals, and have not exhausted the annoying little > problems of being mammals. > > -K. Mullis > > "A big computer, a complex algorithm and a long time does not equal > science." > > -Robert Gentleman > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.[[alternative HTML version deleted]]
stephen sefick
2015-Oct-27 16:09 UTC
[R] monte carlo simulations in permanova in vegan package
Look at the permute package. I believe this functionality is there. Please excuse my brevity; this message was sent from my telephone. On Oct 27, 2015 10:55 AM, "Cade, Brian" <cadeb at usgs.gov> wrote:> Sean: There are only 20 possible combinations, 6!/(3! x 3!), so you just > need to enumerate them completely (no Monte Carlo approximation required). > I don't know if permanova() can do this but you can do it with the mrpp() > functions and argument (,exact=TRUE) in Blossom package for R. > > Brian > > Brian S. Cade, PhD > > U. S. Geological Survey > Fort Collins Science Center > 2150 Centre Ave., Bldg. C > Fort Collins, CO 80526-8818 > > email: cadeb at usgs.gov <brian_cade at usgs.gov> > tel: 970 226-9326 > > > On Tue, Oct 27, 2015 at 7:42 AM, Sean Porter <sporter at ori.org.za> wrote: > > > Hi Stephen and others, > > > > > > > > I am trying to run a one-way permanova where I have only 2 levels in the > > factor ?time?, and each level contains only 3 replicates. So because I > have > > such few observations (6 in total) and levels (2) there are not enough > > possible permutations to get a reasonable test (i.e. (2*3)!/ [2!(3!)^2]. > > That is why for example if I run the analysis with only 99 permutations > it > > completes the task. However, if I set the number of permutations to > > anything larger it returns the message ?'nperm' > set of all > permutations; > > Resetting 'nperm'.? as the number of possible permutations exceeds the > > number set by the argument ?permutations=?. In PERMANOVA + for PRIMER > there > > is a way of dealing with this issue ? by using Monte Carlo simulations to > > generate the p value with a reasonable number of permutations. Hopefully > > this clarifies my situation and aim? > > > > > > > > I was therefore hoping there was a way of coding for the Monte-Carlo > > permutation procedure into adonis? > > > > > > > > Thanks for your help! > > > > > > > > From: stephen sefick [mailto:ssefick at gmail.com] > > Sent: 27 October 2015 03:11 PM > > To: Sean Porter > > Cc: r-help at r-project.org > > Subject: Re: [R] monte carlo simulations in permanova in vegan package > > > > > > > > The example code works, and reports 9999 permutations. Can you provide > > more information? > > > > > > > > data(dune) > > data(dune.env) > > adonis(dune ~ Management*A1, data=dune.env, permutations=9999) > > > > > > > > > > > > On Tue, Oct 27, 2015 at 3:56 AM, Sean Porter <sporter at ori.org.za> wrote: > > > > Dear colleagues, > > > > > > > > I am trying to run a PERMANOVA in the vegan package with an appropriate > > number of permutations (see example below), ideally 9999. Obviously that > > number of permutations does not exists so I would like to use Monte Carlo > > permutation tests to derive the probability value, as is done in the > > commercial package PERMANOVA+ for PRIMER. How can I adapt my code so that > > adonis will do so ? Many thanks, Sean > > > > > > > > > permanova <- adonis(species ~ time, data = time, permutations=99, > > method="bray") > > > > > permanova > > > > > > > > Call: > > > > adonis(formula = species ~ time, data = time, permutations = 99, > > method > > = "bray") > > > > > > > > Permutation: free > > > > Number of permutations: 99 > > > > > > > > Terms added sequentially (first to last) > > > > > > > > Df SumsOfSqs MeanSqs F.Model R2 Pr(>F) > > > > time 1 0.070504 0.070504 123.65 0.96866 0.01 ** > > > > Residuals 4 0.002281 0.000570 0.03134 > > > > Total 5 0.072785 1.00000 > > > > --- > > > > Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 > > > > > > > > > > > > > permanova <- adonis(species ~ time, data = time, permutations=999, > > method="bray") > > > > 'nperm' > set of all permutations; Resetting 'nperm'. > > > > > > > > > > > > > > > > > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > > http://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > > > > > > > > > > > > > > > -- > > > > Stephen Sefick > > ************************************************** > > Auburn University > > Biological Sciences > > 331 Funchess Hall > > Auburn, Alabama > > 36849 > > ************************************************** > > sas0025 at auburn.edu > > http://www.auburn.edu/~sas0025 > > ************************************************** > > > > Let's not spend our time and resources thinking about things that are so > > little or so large that all they really do for us is puff us up and make > us > > feel like gods. We are mammals, and have not exhausted the annoying > little > > problems of being mammals. > > > > -K. Mullis > > > > "A big computer, a complex algorithm and a long time does not equal > > science." > > > > -Robert Gentleman > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > > http://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.[[alternative HTML version deleted]]