Learn R Programming

texmexseq (version 0.3)

z.transform.sample: transform from raw counts to Poisson-lognormal-based metrics

Description

Functions for transforming raw read counts into rescaled reads (z) and theoretical cumulative distribution function values (f).

Usage

z.transform.sample(n) z.transform.table(otu, ignore='otu') f.transform.sample(n) f.transform.table(otu, ignore='otu')

Arguments

n
vector of observed counts
otu
data frame OTU table
ignore
columns that should not be transform (e.g., OTU IDs) have names that match this pattern (i.e., those columns are excluded using dplyr's -matches(ignore)

Value

Details

z.transform.sample fits the Poisson lognormal distribution to the count data and uses that fit to transform those raw read counts into rescaled reads.

z.transform.table performs the same function on an OTU table, which should have one sample per column and, potentially, an ID column that matches the ignore option (e.g., 'otu' will match OTU or OTU_ID). This function is just for convenience: it applies z.transform.sample to each column (that does not match the ignore option) and packages the result into a data frame. Because it uses a dplyr function, the rownames will be lost.

f.transform.sample and f.transform.table are analogous to the z functions, only they return theoretical cumulative distribution function values.

The resulting tables could be used on their own for analysis, but texmexseq is designed to slice that data into smaller ``quads'' (using quad.table).

See Also

texmex.fit quad.table

Examples

Run this code
# make up a table of data
sim.data <- function() rpoilog(100, 1.0, 1.0, condS=TRUE)
sample1 <- sim.data()

# transform it
hist(f.transform.sample(sample1))

# make up a table of data
sample2 <- sim.data()
otu.ids <- paste('otu', seq(1, 100), sep='')
otu.table <- data.frame(OTU_ID=otu.ids, sample1=sample1, sample2=sample2)

# make a new table from those fitted values
f.table <- f.transform.table(otu.table)
hist(f.table$sample1)

Run the code above in your browser using DataLab