R.DF Function (Gnumeric)
Calculate F-distribution density with Gnumeric R.DF. See degree ordering, the zero-cutoff branches, direct log density and reproducible native examples.
Verification status: 23 reference, boundary and advanced-check formulas were recalculated with Gnumeric 1.12.57 ssconvert. Saved identities, the blank input and numerical results were independently checked. Gnumeric 1.12.62 was source-checked only. How formula examples are checked
Quick answer: =R.DF(1,2,2) gives 0.25 in Gnumeric 1.12.57.
Availability and version history
- Introduced: First release not established; present in the retained 1.12.57 source.
- Supported in: Gnumeric 1.12.62; no retirement is established.
- Scope: Desktop Gnumeric with its Statistical Functions From R plugin. English comma-separated formulas are shown.
- Checked: October 14, 2026. Tables and the named advanced check use 1.12.57 ssconvert. Current 1.12.62 source was inspected; that release was not executed.
What R.DF returns
R.DF evaluates the continuous F density. Numerator and denominator degrees of freedom have different roles. A density value is not the probability of observing exactly that value, and it is not an F-test p-value. Versioned function help.
Syntax and arguments
=R.DF(x,numerator_df,denominator_df[,give_log])
- x: observation on the nonnegative F scale; negative x has zero density.
- numerator_df, denominator_df: positive real degrees of freedom; fractions are retained.
- give_log: optional FALSE; TRUE returns the natural logarithm of the density or probability mass.
Brackets mark optional arguments; do not type them. Current worksheet implementation.
Reproducible examples
These self-contained formulas were recalculated natively. Ordinary-domain results were checked against independent mathematics; source guards explain the boundary cases. Results are rounded to twelve decimal places, or thirteen significant digits for small nonzero values. This is presentation precision, not a universal accuracy guarantee.
| Formula | Gnumeric 1.12.57 result |
|---|---|
=R.DF(1,2,2) |
0.25 |
=R.DF(2,2,2) |
0.111111111111 |
=R.DF(.5,2,2) |
0.444444444444 |
=R.DF(1.5,2,3) |
0.176776695297 |
=R.DF(1,2.5,7.5) |
0.35981486816 |
=R.DF(0,2,5) |
1 |
=R.DF(1,2,2,TRUE()) |
-1.38629436112 |
=R.DF(2,2,2,TRUE()) |
-2.197224577336 |
Practical worksheet
With both degrees equal to 2, the density simplifies to 1/(1+x)^2. Thus x=1 gives 0.25, x=2 gives 0.111111111111, and x=0.5 gives 0.444444444444. These values describe the height of a continuous density.
The corresponding probability between 0.5 and 2 is an integral, independently equal to 1/3 for this model. Subtracting the two density heights would not calculate that probability.
Advanced interpretation and checks
For positive x, the density is proportional to (d1/d2)^(d1/2)*x^(d1/2-1)/(1+d1*x/d2)^((d1+d2)/2), normalized by B(d1/2,d2/2). The independent checks use that beta-function expression.
Reciprocating an F variable swaps the degrees and introduces a Jacobian: f(x;d1,d2)=f(1/x;d2,d1)/x². The saved advanced check tests this at x=2, d1=5 and d2=10. Log mode is useful when adding density contributions without first multiplying very small values.
The saved advanced-check result for =R.DF(2,5,10)-R.DF(.5,10,5)/4 was 0.
Boundaries and troubleshooting
The zero boundary depends on the numerator degree: d1<2 has infinite density and yields #NUM!; d1=2 returns 1, with log density 0; d1>2 returns zero. This is independent of the denominator degree when it is positive.
Negative x returns zero, whose logarithm is an unrepresentable negative infinity and therefore #NUM!. Nonpositive degrees also give #NUM!. Empty F5 becomes zero, so the example with d1=2 returns 1. Nonnumeric text is #VALUE!, and incorrect arity is #N/A.
F5 is genuinely empty, rather than a cell containing an empty string.
| Formula | Gnumeric 1.12.57 result |
|---|---|
=R.DF(-1,2,3) |
0 |
=R.DF(-1,2,3,TRUE()) |
#NUM! |
=R.DF(0,1,5) |
#NUM! |
=R.DF(0,4,5) |
0 |
=R.DF(0,2,5,TRUE()) |
0 |
=R.DF(1,0,3) |
#NUM! |
=R.DF(1,2,0) |
#NUM! |
=R.DF(1,-1,3) |
#NUM! |
=R.DF(1,2,-1) |
#NUM! |
=R.DF("1",2,2) |
0.25 |
=R.DF("abc",2,2) |
#VALUE! |
=R.DF(F5,2,2) |
1 |
=R.DF(1,2) |
#N/A |
=R.DF(1,2,2,0,1) |
#N/A |
Official evidence and checking scope
- Current worksheet callback
- Tested-version worksheet callback
- Current df calculation
- Tested-version df calculation
- Nonfinite worksheet-value handling
- Statistical Functions From R plugin declaration
The relevant complete worksheet callback and main calculation helper are unchanged between the inspected versions. That does not establish later-version numerical execution. Both stale and uncached SUM controls recalculated correctly. Native XML preserves the R.* identities. The secondary ODF export keeps these calls in the ORG.GNUMERIC namespace; it does not establish execution in another product. GUI entry, other locales and other spreadsheet products were not tested.