Learn R Programming

bigsnpr (version 1.6.1)

snp_scaleBinom: Binomial(n, p) scaling

Description

Binomial(n, p) scaling where n is fixed and p is estimated.

Usage

snp_scaleBinom(nploidy = 2)

Arguments

nploidy

Number of trials, parameter of the binomial distribution. Default is 2, which corresponds to diploidy, such as for the human genome.

Value

A new function that returns a data.frame of two vectors "center" and "scale" which are of the length of ind.col.

Details

You will probably not use this function as is but as the fun.scaling parameter of other functions of package bigstatsr.

References

This scaling is widely used for SNP arrays. Patterson N, Price AL, Reich D (2006). Population Structure and Eigenanalysis. PLoS Genet 2(12): e190. 10.1371/journal.pgen.0020190.

Examples

Run this code
# NOT RUN {
set.seed(1)

a <- matrix(0, 93, 170)
p <- 0.2
a[] <- rbinom(length(a), 2, p)
X <- add_code256(big_copy(a, type = "raw"), code = c(0, 1, 2, rep(NA, 253)))
X.svd <- big_SVD(X, fun.scaling = snp_scaleBinom())
str(X.svd)
plot(X.svd$center)
abline(h = 2 * p, col = "red")
plot(X.svd$scale)
abline(h = sqrt(2 * p * (1 - p)), col = "red")
# }

Run the code above in your browser using DataLab