hierfstat (version 0.04-22)

gstat.randtest: Goudet's G-statistic Monte Carlo test for genind object

Description

The function gstat.randtest implements Goudet's G-statistic Monte Carlo test (g.stats.glob, package hierfstat) for genind object. The output is an object of the class randtest (package ade4) from a genind object.

Usage

gstat.randtest(x, pop = NULL, method = c("global", "within", "between"),
  sup.pop = NULL, sub.pop = NULL, nsim = 499)

Arguments

x

an object of class genind.

pop

a factor giving the 'population' of each individual. If NULL, pop is seeked from x@pop. Note that the term population refers in fact to any grouping of individuals'.

method

a character (if a vector, only first argument is kept) giving the method to be applied: 'global', 'within' or 'between' (see details).

sup.pop

a factor indicating any grouping of individuals at a larger scale than 'pop'. Used in 'within' method.

sub.pop

a factor indicating any grouping of individuals at a finer scale than 'pop'. Used in 'between' method.

nsim

number of simulations to be used for the randtest.

Value

Returns an object of the class randtest (package ade4).

Details

This procedure tests for genetic structuring of individuals using 3 different schemes (see details).

This G-statistic Monte Carlo procedure tests for population structuring at different levels. This is determined by the argument 'method':

- "global": tests for genetic structuring given 'pop'. - "within": tests for genetic structuring within 'pop' inside each 'sup.pop' group (i.e., keeping sup.pop effect constant). - "between": tests for genetic structuring between 'pop' keeping individuals in their 'sub.pop' groups (i.e., keeping sub.pop effect constant).

See Also

g.stats.glob, fstat, test.g,test.within, test.between,as.randtest, genind2hierfstat

Examples

Run this code
# NOT RUN {
if(require(adegenet)){
# here the example of g.stats.glob is taken using gstat.randtest
data(gtrunchier)
x <- df2genind(X=gtrunchier[,-c(1,2)],pop=gtrunchier$Patch)

# test in hierfstat
gtr.test<- g.stats.glob(gtrunchier[,-1])
gtr.test

# randtest version
x.gtest <- gstat.randtest(x,nsim=99)
x.gtest
plot(x.gtest)

# pop within sup.pop test
gstat.randtest(x,nsim=99,method="within",sup.pop=gtrunchier$Locality)

# pop test with sub.pop kept constant
gstat.randtest(x,nsim=99,pop=gtrunchier$Locality,method="between",sub.pop=gtrunchier$Patch)
}
# }

Run the code above in your browser using DataLab