Convert a data.frame of allele data to a genind object.

Share:

Description

The function df2genind converts a data.frame (or a matrix) into a genind object. The data.frame must meet the following requirements:
- genotypes are in row (one row per genotype)
- markers/loci are in columns
- each element is a string of characters coding alleles, ideally separated by a character string (argument sep); if no separator is used, the number of characters coding alleles must be indicated (argument ncode).

Usage

1
2
3
df2genind(X, sep = NULL, ncode = NULL, ind.names = NULL,
  loc.names = NULL, pop = NULL, NA.char = "", ploidy = 2,
  type = c("codom", "PA"), strata = NULL, hierarchy = NULL)

Arguments

X

a matrix or a data.frame containing allelle data only (see decription)

sep

a character string separating alleles. See details.

ncode

an optional integer giving the number of characters used for coding one genotype at one locus. If not provided, this is determined from data.

ind.names

optinal, a vector giving the individuals names; if NULL, taken from rownames of X. If factor or numeric, vector is converted to character.

loc.names

an optional character vector giving the markers names; if NULL, taken from colnames of X.

pop

an optional factor giving the population of each individual.

NA.char

a character string corresponding to missing allele (to be treated as NA)

ploidy

an integer indicating the degree of ploidy of the genotypes.

type

a character string indicating the type of marker: 'codom' stands for 'codominant' (e.g. microstallites, allozymes); 'PA' stands for 'presence/absence' markers (e.g. AFLP, RAPD).

strata

an optional data frame that defines population stratifications for your samples. This is especially useful if you have a hierarchical or factorial sampling design.

hierarchy

a hierarchical formula that explicitely defines hierarchical levels in your strata. see hierarchy for details.

Details

See genind2df to convert genind objects back to such a data.frame.

=== Details for the sep argument ===
this character is directly used in reguar expressions like gsub, and thus require some characters to be preceeded by double backslashes. For instance, "/" works but "|" must be coded as "\|".

Value

an object of the class genind for df2genind; a matrix of biallelic genotypes for genind2df

Author(s)

Thibaut Jombart t.jombart@imperial.ac.uk, Zhian N. Kamvar kamvarz@science.oregonstate.edu

See Also

genind2df, import2genind, read.genetix, read.fstat, read.structure

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
## simple example
df <- data.frame(locusA=c("11","11","12","32"),
locusB=c(NA,"34","55","15"),locusC=c("22","22","21","22"))
row.names(df) <- .genlab("genotype",4)
df

obj <- df2genind(df, ploidy=2, ncode=1)
obj
tab(obj)


## converting a genind as data.frame
genind2df(obj)
genind2df(obj, sep="/")

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.