# FreemanTukeyFunctions: Freeman-Tukey transformation functions. In MBASED: Package containing functions for ASE analysis using Meta-analysis Based Allele-Specific Expression Detection

## Description

Freeman-Tukey transformation functions.

## Usage

 ```1 2 3 4 5 6 7``` ```FT(x, n, checkArgs = FALSE) unFT(z, n, checkArgs = FALSE) FTAdjust(x, n, p, checkArgs = FALSE) isCountMajorFT(x, n, p, tieBreakRandom = FALSE, checkArgs = FALSE) ```

## Arguments

 `n` number of trials, (vector/matrix of) positive number(s). `x` number of successes, (vector/matrix of) non-negative number(s) <=n. `p` probability of success on each trial, (vector/matrix of) value(s) between 0 and 1. `tieBreakRandom` if FALSE, a backransformed value of 0.5 in isCountMajorFT() will be called major; if TRUE, it will be called major with probability 0.5 and minor with probability 0.5. DEFAULT: FALSE `checkArgs` single boolean specifying whether arguments should be checked for adherence to specifications. DEFAULT: FALSE `z` (vector/matrix of) transformed proportion(s).

## Details

FT takes integers x and n, where x is observed Bin(n, p) random variable, and performs Freeman-Tukey transformation. Arguments x and n are vectorized and must be of the same length (if vectors) or dimension (if matrices).

unFT takes transformed proportion and original total count and untransforms it, using the same approach as metaprop() function from R package "meta", with one correction: to avoid situations that arise in practice when z takes a value that cannot result from the supplied value of n (e.g. z corresponding to a count of < 0 out of n or > n out of n), we assign z to be the smallest/largest allowed value. Arguments z, and n are vectorized and must be of same length (if vectors) or dimension (if matrices).

FTAdjust takes integers x and n, and probability p, where x is observed Bin(n, p) random variable and performs Freeman-Tukey transformation, followed by shifting the transformed variable so that its mean is 2*arcsin(sqrt(0.5)) instead of 2*arcsin(sqrt(p)). Arguments x, n and p are vectorized and must be of the same length (if vectors) or dimension (if matrices).

isCountMajorFT takes original observed count and total count, transforms, adjusting for underlying probability of success and returns TRUE or FALSE depending on whether the count is major (back-transformed proportion >=0.5 or not). Arguments x, n and p are vectorized and must be of same length (if vectors) or dimension (if matrices).

## Value

FT returns (vector of) transformed proportion(s) of successes.

unFT returns (vector/matrix of) backtransformed proportion(s).

FTAdjust returns (vector/matrix of) shifted transformed proportion(s).

isCountMajorFT returns (vector/matrix of) TRUE or FALSE, depending on whether count is judged to be from 'major' allele or not.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```isTRUE(all.equal(MBASED:::FT(x=5,n=10), pi/2)) MBASED:::unFT(z=MBASED:::FT(x=5, n=10), n=10) MBASED:::unFT(z=MBASED:::FT(x=7, n=10), n=10) isTRUE(all.equal(MBASED:::unFT(z=MBASED:::FT(x=7, n=10), n=10), 0.7)) MBASED:::FT(x=50, n=100) MBASED:::FTAdjust(x=50, n=100, p=0.5) ## transformation is trivial if underlying probability of success is 0.5 MBASED:::FT(x=80, n=100) MBASED:::FTAdjust(x=80, n=100, p=0.8) ## if underlying probability of success is 0.8, the shift adjusts transformed proportion to have mean close to pi/2 MBASED:::isCountMajorFT(x=6, n=10, p=0.5, tieBreakRandom=FALSE) MBASED:::isCountMajorFT(x=6, n=10, p=0.8, tieBreakRandom=FALSE) MBASED:::isCountMajorFT(x=4, n=10, p=0.2, tieBreakRandom=FALSE) table(replicate(1000, MBASED:::isCountMajorFT(x=5, n=10, p=0.5, tieBreakRandom=FALSE))) table(replicate(1000, MBASED:::isCountMajorFT(x=5, n=10, p=0.5, tieBreakRandom=TRUE))) ```

### Example output

```Loading required package: RUnit

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

The following objects are masked from 'package:base':

Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colMeans, colSums, colnames,
dirname, do.call, duplicated, eval, evalq, get, grep, grepl,
intersect, is.unsorted, lapply, lengths, mapply, match, mget,
order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind,
rowMeans, rowSums, rownames, sapply, setdiff, sort, table, tapply,
union, unique, unsplit, which, which.max, which.min

Attaching package: 'S4Vectors'

The following object is masked from 'package:base':

expand.grid

Welcome to Bioconductor

Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.

Attaching package: 'matrixStats'

The following objects are masked from 'package:Biobase':

anyMissing, rowMedians

Attaching package: 'DelayedArray'

The following objects are masked from 'package:matrixStats':

colMaxs, colMins, colRanges, rowMaxs, rowMins, rowRanges

The following object is masked from 'package:base':

apply

Warning messages:
1: no function found corresponding to methods exports from 'DelayedArray' for: 'acbind', 'arbind'
2: no function found corresponding to methods exports from 'SummarizedExperiment' for: 'acbind', 'arbind'
 TRUE
 0.5
 0.7
 TRUE
 1.570796
 1.570796
 2.206948
 1.563447
 TRUE
 FALSE
 TRUE

TRUE
1000

FALSE  TRUE
518   482
```

MBASED documentation built on Nov. 8, 2020, 5:53 p.m.