Description Usage Arguments Details Value Author(s) Examples
The generic function scaleGen
is an analogue to the scale
function, but is designed with further arguments giving scaling options.
1 2 3 4 5 6 7 8 9 |
x |
a genind and genpop object |
... |
further arguments passed to other methods. |
center |
a logical stating whether alleles frequencies should be centred to mean zero (default to TRUE). Alternatively, a vector of numeric values, one per allele, can be supplied: these values will be substracted from the allele frequencies. |
scale |
a logical stating whether alleles frequencies should be scaled (default to TRUE). Alternatively, a vector of numeric values, one per allele, can be supplied: these values will be substracted from the allele frequencies. |
NA.method |
a method to replace NA; asis: leave NAs as is; mean: replace by the mean allele frequencies; zero: replace by zero |
truenames |
no longer used; kept for backward compatibility |
Methods are defined for genind and genpop objects. Both return data.frames of scaled allele frequencies.
A matrix of scaled allele frequencies with genotypes (genind) or populations in (genpop) in rows and alleles in columns.
Thibaut Jombart [email protected]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ## Not run:
## load data
data(microbov)
obj <- genind2genpop(microbov)
## compare different scaling
X1 <- scaleGen(obj)
X2 <- scaleGen(obj,met="bin")
## compute PCAs
pcaObj <- dudi.pca(obj,scale=FALSE,scannf=FALSE) # pca with no scaling
pcaX1 <- dudi.pca(X1,scale=FALSE,scannf=FALSE,nf=100) # pca with usual scaling
pcaX2 <- dudi.pca(X2,scale=FALSE,scannf=FALSE,nf=100) # pca with scaling for binomial variance
## get the loadings of alleles for the two scalings
U1 <- pcaX1$c1
U2 <- pcaX2$c1
## find an optimal plane to compare loadings
## use a procustean rotation of loadings tables
pro1 <- procuste(U1,U2,nf=2)
## graphics
par(mfrow=c(2,2))
# eigenvalues
barplot(pcaObj$eig,main="Eigenvalues\n no scaling")
barplot(pcaX1$eig,main="Eigenvalues\n usual scaling")
barplot(pcaX2$eig,main="Eigenvalues\n 'binomial' scaling")
# differences between loadings of alleles
s.match(pro1$scor1,pro1$scor2,clab=0,sub="usual -> binom (procustean rotation)")
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.