R.QST Function (Gnumeric)
Find skew-t cutoffs with Gnumeric R.QST while checking its tested log-input failure, fractional-df limitation and large-df skew-normal approximation.
Verification status: 24 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
1.12.57 inverse limitation: The valid call R.QST(LN(.1),5,2,FALSE(),TRUE()) returned about 7.394×10^184 instead of the mathematical cutoff 2.011027784178. Its CDF dependency has a log bug corrected in 1.12.62 source; the newer inverse was not executed. Nonzero-shape fractional df≤100 also lacks a usable CDF branch.
Quick answer: =R.QST(.5,5,2) gives 0.69599187247 in Gnumeric 1.12.57.
Availability and version history
- Introduced: Implementation documented in Gnumeric 1.12.2 release notes. Earlier registration history was not established here.
- 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.QST returns
R.QST numerically inverts the standardized skew-t CDF. Shape zero delegates to Student t. With nonzero shape, the inverse uses R.PST’s helper, including its version-specific log behavior, supported-df restrictions and approximation above df=100. Versioned function help.
Syntax and arguments
=R.QST(probability,degrees_freedom,shape[,lower_tail[,log_p]])
Probability, degrees_freedom and shape are required. Use positive df and a probability appropriate to the selected tail. lower_tail defaults to TRUE; log_p defaults to FALSE. The nonzero-shape ordinary examples below use integer df≤100; a separate df=101 case shows the approximation.
Brackets mark optional arguments; do not type them. Current worksheet implementation.
Reproducible examples
These self-contained formulas were recalculated natively. The separate reference column evaluates the stated mathematical distribution; discrepancies are preserved and explained rather than treated as successful mathematical results. Source branches and typed native outputs 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 | Independent mathematical reference |
|---|---|---|
=R.QST(.5,5,2) |
0.69599187247 |
0.69599187247 |
=R.QST(.9,5,2) |
2.011027784178 |
2.011027784178 |
=R.QST(.1,5,2,FALSE()) |
2.011027784178 |
2.011027784178 |
=R.QST(LN(.1),5,2,FALSE(),TRUE()) |
7.394064564034E+184 |
2.011027784178 |
=R.QST(.5,5,-2) |
-0.69599187247 |
-0.69599187247 |
=R.QST(.5,5,0) |
0 |
0 |
=R.QST(.5,101,2) |
0.655370400268 |
0.65729683075 |
=R.QST(.25,2,2) |
0.243296366867 |
0.243296366867 |
Practical worksheet
For df=5 and shape=2, the median is approximately 0.695991872470, and the 90th percentile is 2.011027784178. The ordinary upper-tail probability 0.1 also returns that cutoff. This directly tested ordinary-probability form is usable for the stated case, whereas the equivalent log input fails in 1.12.57.
The shape−2 median is the negative of the shape-2 median. Shape zero has median zero. These are cutoffs in the standardized observation scale; the function does not estimate df or skew from a sample.
Advanced interpretation and checks
The ordinary inverse check below returns approximately 0.9 when R.PST evaluates the computed 90th percentile. The enormous log-input result does not pass the corresponding mathematical interpretation; being finite is not a validity test for a numerical quantile.
For df=101, the source inverts the skew-normal approximation. Its median is 0.655370400268, while independent inversion of the finite-df skew-t model gives approximately 0.657296830750. The reference table keeps these two quantities separate. A source change to the shared CDF log branch may affect the newer inverse, but its corrected numerical output remains untested.
The saved advanced-check result for =R.PST(R.QST(.9,5,2),5,2) was 0.9.
Boundaries and troubleshooting
The tested df=2.5, nonzero-shape call returns −1, even though the corresponding CDF helper cannot calculate that branch. It is not an approved quantile. Shape zero with df=2.5 returns the Student-t median zero. Restrict a working nonzero-shape calculation to a supported branch and verify its inverse relationship.
Infinite probability endpoints, outside-domain probabilities, positive log probabilities and nonpositive df give #NUM! in the listed cases. Nonnumeric text gives #VALUE!; empty F5 becomes probability zero and errors. Wrong arity gives #N/A. No later-version correction or general convergence guarantee is inferred from source inspection alone.
F5 is genuinely empty, rather than a cell containing an empty string.
| Formula | Gnumeric 1.12.57 result |
|---|---|
=R.QST(0,5,2) |
#NUM! |
=R.QST(1,5,2) |
#NUM! |
=R.QST(0,5,2,FALSE()) |
#NUM! |
=R.QST(1,5,2,FALSE()) |
#NUM! |
=R.QST(-.1,5,2) |
#NUM! |
=R.QST(1.1,5,2) |
#NUM! |
=R.QST(.5,2.5,2) |
-1 |
=R.QST(.5,2.5,0) |
0 |
=R.QST(.5,0,2) |
#NUM! |
=R.QST(.5,-1,2) |
#NUM! |
=R.QST(1,5,2,TRUE(),TRUE()) |
#NUM! |
=R.QST("abc",5,2) |
#VALUE! |
=R.QST(F5,5,2) |
#NUM! |
=R.QST(.5,5) |
#N/A |
=R.QST(.5,5,2,0,0,1) |
#N/A |
Official evidence and checking scope
- Current worksheet callback
- Tested-version worksheet callback
- Current qst calculation
- Tested-version qst calculation
- Current pst calculation
- Tested-version pst calculation
- Current psnorm calculation
- Tested-version psnorm calculation
- Current pfuncinverter calculation
- Tested-version pfuncinverter calculation
- 1.12.62 log-case fix release note
- Nonfinite worksheet-value handling
- Statistical Functions From R plugin declaration
The worksheet callbacks are unchanged. The PST helper differs by the missing return fixed in 1.12.62; no newer inverse or CDF execution is inferred. 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.