Description Usage Arguments Details Value Note Author(s) References See Also Examples

Moment estimation of the parameters of a scaled F-distribution given one of the degrees of freedom.
This function is called internally by `eBayes`

and `squeezeVar`

and is not usually called directly by a user.

1 2 |

`x` |
numeric vector or array of positive values representing a sample from a scaled F-distribution. |

`df1` |
the first degrees of freedom of the F-distribution. Can be a single value, or else a vector of the same length as |

`covariate` |
if non- |

`winsor.tail.p` |
numeric vector of length 1 or 2, giving left and right tail proportions of |

`trace` |
logical value indicating whether a trace of the iteration progress should be printed. |

`fitFDist`

implements an algorithm proposed by Smyth (2004) and Phipson et al (2016).
It estimates `scale`

and `df2`

under the assumption that `x`

is distributed as `scale`

times an F-distributed random variable on `df1`

and `df2`

degrees of freedom.
The parameters are estimated using the method of moments, specifically from the mean and variance of the `x`

values on the log-scale.

When `covariate`

is supplied, a spline curve trend will be estimated for the `x`

values and the estimation will be adjusted for this trend (Phipson et al, 2016).

`fitFDistRobustly`

is similar to `fitFDist`

except that it computes the moments of the Winsorized values of `x`

, making it robust against left and right outliers.
Larger values for `winsor.tail.p`

produce more robustness but less efficiency.
When `covariate`

is supplied, a loess trend is estimated for the `x`

values.
The robust method is described by Phipson et al (2016).

As well as estimating the F-distribution for the bulk of the cases, i.e., with outliers discounted, `fitFDistRobustly`

also returns an estimated F-distribution with reduced df2 that might be appropriate for each outlier case.

`fitFDist`

produces a list with the following components:

`scale` |
scale factor for F-distribution. A vector if |

`df2` |
the second degrees of freedom of the fitted F-distribution. |

`fitFDistRobustly`

returns the following components as well:

`tail.p.value` |
right tail probability of the scaled F-distribution for each |

`prob.outlier` |
posterior probability that each case is an outlier relative to the scaled F-distribution with degrees of freedom |

`df2.outlier` |
the second degrees of freedom associated with extreme outlier cases. |

`df2.shrunk` |
numeric vector of values for the second degrees of freedom, with shrunk values for outliers. Most values are equal to |

The algorithm used by `fitFDistRobustly`

was revised slightly in limma 3.27.6.
The `prob.outlier`

value, which is the lower bound for `df2.shrunk`

, may be slightly smaller than previously.

Gordon Smyth and Belinda Phipson

Smyth, G. K. (2004). Linear models and empirical Bayes methods for
assessing differential expression in microarray experiments.
*Statistical Applications in Genetics and Molecular Biology*, **3**,
No. 1, Article 3.
http://www.statsci.org/smyth/pubs/ebayes.pdf

Phipson, B, Lee, S, Majewski, IJ, Alexander, WS, and Smyth, GK (2016).
Robust hyperparameter estimation protects against hypervariable genes and improves power to detect differential expression.
*Annals of Applied Statistics* 10, 946-963.
http://projecteuclid.org/euclid.aoas/1469199900

This function is called by `squeezeVar`

, which in turn is called by `eBayes`

and `treat`

.

This function calls `trigammaInverse`

.

1 2 |

```
$scale
[1] 0.9770214
$df2
[1] 17.14126
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.