[rkward-cvs] [rkward/work/distributions] rkward/plugins: Further progress on the mass-conversion of distribution plugins.
Thomas Friedrichsmeier
thomas.friedrichsmeier at ruhr-uni-bochum.de
Sun Jan 25 19:07:51 UTC 2015
Git commit 227ed9131aed2ae5945551f70355ac2a449db0a5 by Thomas Friedrichsmeier.
Committed on 25/01/2015 at 19:07.
Pushed by tfry into branch 'work/distributions'.
Further progress on the mass-conversion of distribution plugins.
TODO: Complete help pages, add tests.
M +1 -1 rkward/plugins/distributions.pluginmap
M +1 -1 rkward/plugins/distributions/beta.js
M +1 -1 rkward/plugins/distributions/binomial.js
M +3 -2 rkward/plugins/distributions/binomial.xml
M +1 -1 rkward/plugins/distributions/cauchy.js
M +21 -0 rkward/plugins/distributions/cauchy.rkh
M +4 -1 rkward/plugins/distributions/chi_squared.js
M +21 -0 rkward/plugins/distributions/chi_squared.rkh
M +15 -7 rkward/plugins/distributions/dist_common.js
M +2 -1 rkward/plugins/distributions/dist_snippets.xml
M +2 -1 rkward/plugins/distributions/exponential.js
M +21 -0 rkward/plugins/distributions/exponential.rkh
M +1 -1 rkward/plugins/distributions/exponential.xml
M +1 -1 rkward/plugins/distributions/f.js
M +22 -0 rkward/plugins/distributions/f.rkh
M +3 -3 rkward/plugins/distributions/f.xml
M +1 -1 rkward/plugins/distributions/gamma.js
M +22 -0 rkward/plugins/distributions/gamma.rkh
M +2 -2 rkward/plugins/distributions/gamma.xml
M +2 -1 rkward/plugins/distributions/geom.js
M +22 -0 rkward/plugins/distributions/geom.rkh
M +3 -0 rkward/plugins/distributions/geom.xml
M +6 -17 rkward/plugins/distributions/gumbel.js
M +2 -2 rkward/plugins/distributions/gumbel.xml
M +1 -3 rkward/plugins/distributions/hypergeometric.js
M +7 -4 rkward/plugins/distributions/hypergeometric.xml
M +1 -1 rkward/plugins/distributions/log_normal.js
M +2 -2 rkward/plugins/distributions/log_normal.xml
M +3 -1 rkward/plugins/distributions/logistic.js
M +2 -2 rkward/plugins/distributions/logistic.xml
M +3 -1 rkward/plugins/distributions/negative_binomial.js
M +4 -1 rkward/plugins/distributions/negative_binomial.xml
M +1 -1 rkward/plugins/distributions/normal.js
M +1 -0 rkward/plugins/distributions/plot_beta_distribution.rkh
M +2 -2 rkward/plugins/distributions/plot_binomial_distribution.rkh
M +2 -2 rkward/plugins/distributions/plot_cauchy_distribution.rkh
M +2 -1 rkward/plugins/distributions/poisson.js
M +5 -1 rkward/plugins/distributions/poisson.xml
M +1 -1 rkward/plugins/distributions/t.js
M +2 -2 rkward/plugins/distributions/t.xml
M +1 -1 rkward/plugins/distributions/tukey.js
M +2 -2 rkward/plugins/distributions/tukey.xml
M +3 -1 rkward/plugins/distributions/uniform.js
M +1 -1 rkward/plugins/distributions/weibull.js
M +3 -1 rkward/plugins/distributions/wilcoxon.js
M +2 -0 rkward/plugins/distributions/wilcoxon.xml
http://commits.kde.org/rkward/227ed9131aed2ae5945551f70355ac2a449db0a5
diff --git a/rkward/plugins/distributions.pluginmap b/rkward/plugins/distributions.pluginmap
index 1e24fef..4a19ead 100644
--- a/rkward/plugins/distributions.pluginmap
+++ b/rkward/plugins/distributions.pluginmap
@@ -38,7 +38,7 @@
<component type="standard" id="chi_squared_probabilities" file="chi_squared.xml" label="Chi-squared distribution calculator" />
<component type="standard" id="plot_chi_squared_distribution" file="plot_chi_squared_distribution.xml" label="Plot Chi-squared distribution" />
- <component type="standard" id="exponential_probabilities" file="exponential.xml" label="Exponential probabilities" />
+ <component type="standard" id="exponential_probabilities" file="exponential.xml" label="Exponential distribution calculator" />
<component type="standard" id="plot_exponential_distribution" file="plot_exponential_distribution.xml" label="Plot Exponential distribution" />
<component type="standard" id="f_probabilities" file="f.xml" label="F distribution calculator" />
diff --git a/rkward/plugins/distributions/beta.js b/rkward/plugins/distributions/beta.js
index 209b8c1..c3e9bd6 100755
--- a/rkward/plugins/distributions/beta.js
+++ b/rkward/plugins/distributions/beta.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Beta distribution'), 'beta', ["shape1", "shape2", "ncp"], [0, 1], true);
+ return initDistSpecifics (i18n ('Beta distribution'), 'beta', ["shape1", "shape2", "ncp"], [0, 1], continuous);
}
diff --git a/rkward/plugins/distributions/binomial.js b/rkward/plugins/distributions/binomial.js
index ca0f014..f4cff4f 100644
--- a/rkward/plugins/distributions/binomial.js
+++ b/rkward/plugins/distributions/binomial.js
@@ -1,6 +1,6 @@
include ("dist_common.js");
function getDistSpecifics () {
- var dist = initDistSpecifics (i18n ('Binomial distribution'), 'binom', ["size", "prob"], [0, getString ("size")], false);
+ var dist = initDistSpecifics (i18n ('Binomial distribution'), 'binom', ["size", "prob"], [0, getString ("size")], discrete);
return dist;
}
diff --git a/rkward/plugins/distributions/binomial.xml b/rkward/plugins/distributions/binomial.xml
index b6198b0..f1047a1 100644
--- a/rkward/plugins/distributions/binomial.xml
+++ b/rkward/plugins/distributions/binomial.xml
@@ -4,8 +4,9 @@
<help file="binomial.rkh" />
<logic>
<insert snippet="dialog_logic"/>
- <set id="ui_note.visible" to="true"/>
- <set id="ui_note.text" to="Note: For the binomial distribution, quantiles can be interpreted as number of successes in the given number of trials."/>
+ <script><![CDATA[
+ gui.setValue ("ui_note.text", i18n (noquote ("Quantiles can be interpreted as number of successes in the given number of trials.")));
+ ]]></script>
</logic>
<snippets>
<snippet id="dist_options">
diff --git a/rkward/plugins/distributions/cauchy.js b/rkward/plugins/distributions/cauchy.js
index 66938ec..d7779de 100755
--- a/rkward/plugins/distributions/cauchy.js
+++ b/rkward/plugins/distributions/cauchy.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Cauchy distribution'), 'cauchy', ["location", "scale"]);
+ return initDistSpecifics (i18n ('Cauchy distribution'), 'cauchy', ["location", "scale"], [], continuous);
}
diff --git a/rkward/plugins/distributions/cauchy.rkh b/rkward/plugins/distributions/cauchy.rkh
index e69de29..dfa4fc4 100644
--- a/rkward/plugins/distributions/cauchy.rkh
+++ b/rkward/plugins/distributions/cauchy.rkh
@@ -0,0 +1,21 @@
+<!DOCTYPE rkhelp>
+<document>
+ <snippets>
+ <include file="dist_help_snippets.xml"/>
+ </snippets>
+ <summary>
+ Provides a calculator for probabilities, quantiles, and densities in the Cauchy distribution.
+ </summary>
+ <insert snippet="dialog_usage"/>
+ <settings>
+ <insert snippet="dialog_settings"/>
+ <setting id="location">Location parameter (median) of the Cauchy distribution</setting>
+ <setting id="scale">Scale parameter of the Cauchy distribution</setting>
+ </settings>
+ <related>
+ <ul>
+ <li><link href="rkward://rhelp/Cauchy"/></li>
+ <li><link href="rkward://component/rkward/plot_cauchy_distribution"/></li>
+ </ul>
+ </related>
+</document>
diff --git a/rkward/plugins/distributions/chi_squared.js b/rkward/plugins/distributions/chi_squared.js
index 2ffd350..71631e4 100644
--- a/rkward/plugins/distributions/chi_squared.js
+++ b/rkward/plugins/distributions/chi_squared.js
@@ -1,5 +1,8 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Chi-squared distribution'), 'chisq', ["df", "ncp"]);
+ var df = Number (getString ("df"));
+ return initDistSpecifics (i18n ('Chi-squared distribution'), 'chisq', ["df", "ncp"],
+ [Math.max (0, Math.floor (df * .6 - 4)), Math.floor (df * 1.4 + 4)], // NOTE: crude self-made heuristic for covering the likely range of interest for auto-quantiles
+ continuos);
}
diff --git a/rkward/plugins/distributions/chi_squared.rkh b/rkward/plugins/distributions/chi_squared.rkh
index e69de29..50818c6 100644
--- a/rkward/plugins/distributions/chi_squared.rkh
+++ b/rkward/plugins/distributions/chi_squared.rkh
@@ -0,0 +1,21 @@
+<!DOCTYPE rkhelp>
+<document>
+ <snippets>
+ <include file="dist_help_snippets.xml"/>
+ </snippets>
+ <summary>
+ Provides a calculator for probabilities, quantiles, and densities in the Chi-squared (χ²) distribution.
+ </summary>
+ <insert snippet="dialog_usage"/>
+ <settings>
+ <insert snippet="dialog_settings"/>
+ <setting id="df">Degrees of freedom</setting>
+ <setting id="ncp">Non-centrality parameter</setting>
+ </settings>
+ <related>
+ <ul>
+ <li><link href="rkward://rhelp/Chisquare"/></li>
+ <li><link href="rkward://component/rkward/plot_chi_squared_distribution"/></li>
+ </ul>
+ </related>
+</document>
diff --git a/rkward/plugins/distributions/dist_common.js b/rkward/plugins/distributions/dist_common.js
index 2028932..de9d69e 100644
--- a/rkward/plugins/distributions/dist_common.js
+++ b/rkward/plugins/distributions/dist_common.js
@@ -4,7 +4,11 @@ var dist;
var invar;
var outvar;
-function initDistSpecifics (title, stem, params, range, continuous) {
+const continuous = 1;
+const discrete = 2;
+
+// NOTE: range
+function initDistSpecifics (title, stem, params, range, type) {
var dist = new Object ();
var header = new Header (title);
var par = "";
@@ -15,9 +19,9 @@ function initDistSpecifics (title, stem, params, range, continuous) {
dist["header"] = header;
dist["params"] = par;
dist["funstem"] = stem;
- dist["min"] = Number (range[0]);
- dist["max"] = Number (range[1]);
- dist["cont"] = continuous;
+ dist["min"] = range[0];
+ dist["max"] = range[1];
+ dist["cont"] = (type == continuous);
return dist;
}
@@ -45,24 +49,28 @@ function calculate () {
if (mode == "q") values = getList ("p.0");
else values = getList ("q.0");
if (values.length < 1) {
+ // NOTE: making this an even number is somewhat important. Otherwise, the middle number will be something very close to (but not quite) 0 in many cases,
+ // resulting in very ugly number formatting
var max_auto_sequence_length = 20;
if (invar == 'q') {
if (!dist["cont"]) {
- var span = dist["max"] - dist["min"];
+ var span = Number (dist["max"]) - Number (dist["min"]) - 1;
if (span <= max_auto_sequence_length) {
values = String (dist["min"]) + ':' + String (dist["max"]);
} else {
values = 'seq.int (' + String (dist["min"]) + ', ' + String (dist["max"]) + ', by=' + String (Math.ceil (span / max_auto_sequence_length)) + ')';
}
} else {
- values = 'seq (' + String (dist["min"]) + ', ' + String (dist["max"]) + ', length.out=' + String (max_auto_sequence_length+1) + ')';
+ if (dist["min"] === undefined) dist["min"] = 'q' + dist["funstem"] + ' (.01' + dist["params"] + ')';
+ if (dist["max"] === undefined) dist["max"] = 'q' + dist["funstem"] + ' (.99' + dist["params"] + ')';
+ values = 'seq (' + String (dist["min"]) + ', ' + String (dist["max"]) + ', length.out=' + String (max_auto_sequence_length) + ')';
}
} else { // invar == 'p'
if (logpd) {
values = '-' + String (max_auto_sequence_length) + ':0';
} else {
- values = 'seq (0, 1, length.out=' + String (max_auto_sequence_length+1) + ')';
+ values = 'seq (0, 1, length.out=' + String (max_auto_sequence_length) + ')';
}
}
} else {
diff --git a/rkward/plugins/distributions/dist_snippets.xml b/rkward/plugins/distributions/dist_snippets.xml
index 63855a9..25c5b21 100644
--- a/rkward/plugins/distributions/dist_snippets.xml
+++ b/rkward/plugins/distributions/dist_snippets.xml
@@ -10,7 +10,8 @@
<connect client="q.visible" governor="do_q.not"/>
<connect client="p.visible" governor="do_q"/>
- <set id="ui_note.visible" to="false"/>
+ <convert id="have_ui_note" mode="notequals" sources="ui_note.text" standard=""/>
+ <connect client="ui_note.visible" governor="have_ui_note"/>
</snippet>
<snippet id="dialog_layout">
<dropdown id="mode" label="Mode">
diff --git a/rkward/plugins/distributions/exponential.js b/rkward/plugins/distributions/exponential.js
index 22f8660..e581136 100755
--- a/rkward/plugins/distributions/exponential.js
+++ b/rkward/plugins/distributions/exponential.js
@@ -1,5 +1,6 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Exponential distribution'), 'exp', ["rate"]);
+ var rate = Number (getString ("rate"));
+ return initDistSpecifics (i18n ('Exponential distribution'), 'exp', ["rate"], [0, Math.floor (5/rate)], continuous);
}
diff --git a/rkward/plugins/distributions/exponential.rkh b/rkward/plugins/distributions/exponential.rkh
index e69de29..4324ee6 100644
--- a/rkward/plugins/distributions/exponential.rkh
+++ b/rkward/plugins/distributions/exponential.rkh
@@ -0,0 +1,21 @@
+<!DOCTYPE rkhelp>
+<document>
+ <snippets>
+ <include file="dist_help_snippets.xml"/>
+ </snippets>
+ <summary>
+ Provides a calculator for probabilities, quantiles, and densities in the Exponential distribution.
+ </summary>
+ <insert snippet="dialog_usage"/>
+ <settings>
+ <insert snippet="dialog_settings"/>
+ <setting id="rate">Rate parameter λ (1/mean)</setting>
+ </settings>
+ <related>
+ <ul>
+ <li><link href="rkward://component/rkward/gamma_probabilities"/> (of which the exponential distribution is a special case)</li>
+ <li><link href="rkward://rhelp/Exponential"/></li>
+ <li><link href="rkward://component/rkward/plot_exponential_distribution"/></li>
+ </ul>
+ </related>
+</document>
diff --git a/rkward/plugins/distributions/exponential.xml b/rkward/plugins/distributions/exponential.xml
index cec6009..339a809 100755
--- a/rkward/plugins/distributions/exponential.xml
+++ b/rkward/plugins/distributions/exponential.xml
@@ -7,7 +7,7 @@
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox default_precision="2" type="real" min="0" initial="1" id="rate" label="vector of rates"/>
+ <spinbox default_precision="1" type="real" min="0" initial="1" id="rate" label="Rates"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/f.js b/rkward/plugins/distributions/f.js
index b148eae..d69986b 100644
--- a/rkward/plugins/distributions/f.js
+++ b/rkward/plugins/distributions/f.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('F distribution'), 'f', ["df1", "df2", "ncp"]);
+ return initDistSpecifics (i18n ('F distribution'), 'f', ["df1", "df2", "ncp"], [0, undefined], continuous);
}
diff --git a/rkward/plugins/distributions/f.rkh b/rkward/plugins/distributions/f.rkh
index e69de29..7962a6c 100644
--- a/rkward/plugins/distributions/f.rkh
+++ b/rkward/plugins/distributions/f.rkh
@@ -0,0 +1,22 @@
+<!DOCTYPE rkhelp>
+<document>
+ <snippets>
+ <include file="dist_help_snippets.xml"/>
+ </snippets>
+ <summary>
+ Provides a calculator for probabilities, quantiles, and densities in the F distribution.
+ </summary>
+ <insert snippet="dialog_usage"/>
+ <settings>
+ <insert snippet="dialog_settings"/>
+ <setting id="df1">Numerator degrees of freedom</setting>
+ <setting id="df2">Denominator degrees of freedom</setting>
+ <setting id="ncp">Non-centrality parameter</setting>
+ </settings>
+ <related>
+ <ul>
+ <li><link href="rkward://rhelp/Fdist"/></li>
+ <li><link href="rkward://component/rkward/plot_f_distribution"/></li>
+ </ul>
+ </related>
+</document>
diff --git a/rkward/plugins/distributions/f.xml b/rkward/plugins/distributions/f.xml
index ee0e96a..c16873c 100644
--- a/rkward/plugins/distributions/f.xml
+++ b/rkward/plugins/distributions/f.xml
@@ -7,9 +7,9 @@
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox default_precision="2" type="real" initial="1" id="df1" min="0" label="Numerator degree of Freedom"/>
- <spinbox default_precision="2" type="real" initial="1" id="df2" min="0" label="Denominator degree of Freedom"/>
- <spinbox default_precision="2" type="real" initial="0" id="ncp" min="0" label="non-centrality parameter"/>
+ <spinbox default_precision="1" type="real" initial="1" id="df1" min="0" label="Numerator degrees of Freedom"/>
+ <spinbox default_precision="1" type="real" initial="10" id="df2" min="0" label="Denominator degrees of Freedom"/>
+ <spinbox default_precision="1" type="real" initial="0" id="ncp" min="0" label="non-centrality parameter"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/gamma.js b/rkward/plugins/distributions/gamma.js
index b7dabe1..32487c1 100755
--- a/rkward/plugins/distributions/gamma.js
+++ b/rkward/plugins/distributions/gamma.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Gamma distribution'), 'gamma', ["shape", "rate"]);
+ return initDistSpecifics (i18n ('Gamma distribution'), 'gamma', ["shape", "rate"], [0, undefined], continuous);
}
diff --git a/rkward/plugins/distributions/gamma.rkh b/rkward/plugins/distributions/gamma.rkh
index e69de29..610d165 100644
--- a/rkward/plugins/distributions/gamma.rkh
+++ b/rkward/plugins/distributions/gamma.rkh
@@ -0,0 +1,22 @@
+<!DOCTYPE rkhelp>
+<document>
+ <snippets>
+ <include file="dist_help_snippets.xml"/>
+ </snippets>
+ <summary>
+ Provides a calculator for probabilities, quantiles, and densities in the gamma distribution.
+ </summary>
+ <insert snippet="dialog_usage"/>
+ <settings>
+ <insert snippet="dialog_settings"/>
+ <setting id="shape">Shape parameter (k)</setting>
+ <setting id="rate">Rate parameter β (inverse of scale parameter)</setting>
+ </settings>
+ <related>
+ <ul>
+ <li><link href="rkward://component/rkward/exponential_probabilities"/> (a special case of the gamma distribution with shape=1)</li>
+ <li><link href="rkward://rhelp/GammaDist">R help on Gamma Distribution functions</link></li>
+ <li><link href="rkward://component/rkward/plot_gamma_distribution"/></li>
+ </ul>
+ </related>
+</document>
diff --git a/rkward/plugins/distributions/gamma.xml b/rkward/plugins/distributions/gamma.xml
index c5d3288..6bbd16e 100755
--- a/rkward/plugins/distributions/gamma.xml
+++ b/rkward/plugins/distributions/gamma.xml
@@ -7,8 +7,8 @@
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox default_precision="2" type="real" min="0" initial="1" id="shape" label="Shape"/>
- <spinbox default_precision="2" type="real" min="0" initial="1" id="rate" label="Rate"/>
+ <spinbox default_precision="1" type="real" min="0" initial="1" id="shape" label="Shape"/>
+ <spinbox default_precision="1" type="real" min="0" initial="1" id="rate" label="Rate"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/geom.js b/rkward/plugins/distributions/geom.js
index 0c4a02f..f7dbbd6 100755
--- a/rkward/plugins/distributions/geom.js
+++ b/rkward/plugins/distributions/geom.js
@@ -1,5 +1,6 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Geometric distribution'), 'geom', ["prob"]);
+ var prob = Number (getString ("prob"));
+ return initDistSpecifics (i18n ('Geometric distribution'), 'geom', ["prob"], [0, Math.floor (5/prob)], discrete);
}
diff --git a/rkward/plugins/distributions/geom.rkh b/rkward/plugins/distributions/geom.rkh
index e69de29..64e4c80 100644
--- a/rkward/plugins/distributions/geom.rkh
+++ b/rkward/plugins/distributions/geom.rkh
@@ -0,0 +1,22 @@
+<!DOCTYPE rkhelp>
+<document>
+ <snippets>
+ <include file="dist_help_snippets.xml"/>
+ </snippets>
+ <summary>
+ Provides a calculator for probabilities, quantiles, and densities in the Geometric distribution.
+
+ Quantiles in the geometric distribution represent the number of failures in a sequence of Bernoulli trials before the first success.
+ </summary>
+ <insert snippet="dialog_usage"/>
+ <settings>
+ <insert snippet="dialog_settings"/>
+ <setting id="prob">Probability of success in each trial. Note that this setting is <b>not</b> affected by the "log probabilities" setting, i.e. always specify the plain probability,</setting>
+ </settings>
+ <related>
+ <ul>
+ <li><link href="rkward://rhelp/Geometric"/></li>
+ <li><link href="rkward://component/rkward/plot_geom_distribution"/></li>
+ </ul>
+ </related>
+</document>
diff --git a/rkward/plugins/distributions/geom.xml b/rkward/plugins/distributions/geom.xml
index bd3564b..68b4ce5 100755
--- a/rkward/plugins/distributions/geom.xml
+++ b/rkward/plugins/distributions/geom.xml
@@ -4,6 +4,9 @@
<help file="geom.rkh" />
<logic>
<insert snippet="dialog_logic"/>
+ <script><![CDATA[
+ gui.setValue ("ui_note.text", i18n (noquote ("Quantiles represent the number of failures in a sequence of Bernoulli trials before the first success.")));
+ ]]></script>
</logic>
<snippets>
<snippet id="dist_options">
diff --git a/rkward/plugins/distributions/gumbel.js b/rkward/plugins/distributions/gumbel.js
index 6dc1e8d..5f5098f 100755
--- a/rkward/plugins/distributions/gumbel.js
+++ b/rkward/plugins/distributions/gumbel.js
@@ -1,22 +1,11 @@
include ("dist_common.js");
-function getDistSpecifics () {
- return initDistSpecifics (i18n ('Gumbel distribution'), 'weibull', ["shape", "scale"]);
-}
-
-error!
-
-// globals
-var q;
-
-function calculate () {
- q = "c (" + getString ("q").replace (/[, ]+/g, ", ") + ")";
-
- echo ('result <- (pweibull (q = exp(' + q + '), shape = ' + getValue ("shape") + ', scale = ' + getValue ("scale") + ', ' + getValue ("tail") + ', ' + getValue("logp") + '))\n');
+function preprocess () {
+ echo ('require (FAdist)\n');
}
-function printout () {
- echo ('rk.header ("Gumbel probability", list ("Vector of quantiles", "' + q + '", "Shape", "' + getValue ("shape") + '", "Scale", "' + getValue ("scale") + '", "Tail", "' + getValue ("tail") + '", "Probabilities p are given as", "' + getValue ("logp") + '"))\n');
- echo ('rk.results (result, titles="Gumbel probabilities")\n');
+function getDistSpecifics () {
+ var scale = Number (getString ("scale"));
+ var location = Number (getString ("location"));
+ return initDistSpecifics (i18n ('Gumbel distribution'), 'gumbel', ["location", "scale"], [Math.floor (-2*scale+location), Math.ceil (5*scale+location)], continuous);
}
-
diff --git a/rkward/plugins/distributions/gumbel.xml b/rkward/plugins/distributions/gumbel.xml
index 120bc81..a195e3e 100755
--- a/rkward/plugins/distributions/gumbel.xml
+++ b/rkward/plugins/distributions/gumbel.xml
@@ -7,8 +7,8 @@
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox default_precision="2" type="real" min="0" initial="1" id="shape" label="Shape"/>
- <spinbox default_precision="2" type="real" min="1" initial="1" id="scale" label="Scale"/>
+ <spinbox default_precision="1" type="real" min="0" initial="0" id="location" label="Location"/>
+ <spinbox default_precision="1" type="real" initial="1" id="scale" label="Scale"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/hypergeometric.js b/rkward/plugins/distributions/hypergeometric.js
index d9f9b7d..9e65315 100755
--- a/rkward/plugins/distributions/hypergeometric.js
+++ b/rkward/plugins/distributions/hypergeometric.js
@@ -1,7 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- var dist = initDistSpecifics (i18n ('Hypergeometric distribution'), 'hyper', ["m", "n", "k"]);
- dist["max_quantile"] = getString ("m");
- return dist;
+ return initDistSpecifics (i18n ('Hypergeometric distribution'), 'hyper', ["m", "n", "k"], [0, getString ("m")], discrete);
}
diff --git a/rkward/plugins/distributions/hypergeometric.xml b/rkward/plugins/distributions/hypergeometric.xml
index 26a064e..73e1e13 100755
--- a/rkward/plugins/distributions/hypergeometric.xml
+++ b/rkward/plugins/distributions/hypergeometric.xml
@@ -1,15 +1,18 @@
<!DOCTYPE rkplugin>
<document>
- <code file="hypergeometric_probabilities.js" />
+ <code file="hypergeometric.js" />
<help file="hypergeometric.rkh" />
<logic>
<insert snippet="dialog_logic"/>
+ <script><![CDATA[
+ gui.setValue ("ui_note.text", i18n (noquote ("Quantiles represent the number of white balls drawn in k draws without replacement from an urn containing m white and n black balls.")));
+ ]]></script>
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox type="integer" min="0" initial="1" id="m" label="m (Number of white balls in the urn)"/>
- <spinbox type="integer" min="0" initial="1" id="n" label="n (Number of black balls in the urn)"/>
- <spinbox type="integer" min="0" initial="1" id="k" label="k (Number of balls drawn from the urn)"/>
+ <spinbox type="integer" min="0" initial="10" id="m" label="m (Number of white balls in the urn)"/>
+ <spinbox type="integer" min="0" initial="10" id="n" label="n (Number of black balls in the urn)"/>
+ <spinbox type="integer" min="0" initial="5" id="k" label="k (Number of balls drawn from the urn)"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/log_normal.js b/rkward/plugins/distributions/log_normal.js
index 772c877..a61ae46 100644
--- a/rkward/plugins/distributions/log_normal.js
+++ b/rkward/plugins/distributions/log_normal.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Log Normal distribution'), 'lnorm', ["meanlog", "sdlog"]);
+ return initDistSpecifics (i18n ('Log Normal distribution'), 'lnorm', ["meanlog", "sdlog"], [0, undefined], continuous);
}
diff --git a/rkward/plugins/distributions/log_normal.xml b/rkward/plugins/distributions/log_normal.xml
index e4df211..24d3164 100644
--- a/rkward/plugins/distributions/log_normal.xml
+++ b/rkward/plugins/distributions/log_normal.xml
@@ -7,8 +7,8 @@
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox default_precision="2" type="real" initial="0" id="meanlog" label="meanlog (mean of the distribution on the log scale)"/>
- <spinbox default_precision="2" type="real" min="0.000001" initial="1" id="sdlog" label="sdlog (standard deviation of the distribution on the log scale)"/>
+ <spinbox default_precision="1" type="real" initial="0" id="meanlog" label="meanlog (mean of the distribution on the log scale)"/>
+ <spinbox default_precision="1" type="real" min="0.000001" initial="1" id="sdlog" label="sdlog (standard deviation of the distribution on the log scale)"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/logistic.js b/rkward/plugins/distributions/logistic.js
index 4c6fcdf..77b4052 100755
--- a/rkward/plugins/distributions/logistic.js
+++ b/rkward/plugins/distributions/logistic.js
@@ -1,5 +1,7 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Logistic distribution'), 'logis', ["location", "scale"]);
+ var loc = Number (getString ("location"));
+ var scale = Number (getString ("scale"));
+ return initDistSpecifics (i18n ('Logistic distribution'), 'logis', ["location", "scale"], [-5*scale+loc, 5*scale+loc], continuous);
}
diff --git a/rkward/plugins/distributions/logistic.xml b/rkward/plugins/distributions/logistic.xml
index 41b5baf..639b6dd 100755
--- a/rkward/plugins/distributions/logistic.xml
+++ b/rkward/plugins/distributions/logistic.xml
@@ -7,8 +7,8 @@
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox default_precision="2" type="real" initial="1" id="location" label="Location"/>
- <spinbox default_precision="2" type="real" min="0" initial="1" id="scale" label="Scale"/>
+ <spinbox default_precision="1" type="real" initial="0" id="location" label="Location"/>
+ <spinbox default_precision="1" type="real" min="0" initial="1" id="scale" label="Scale"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/negative_binomial.js b/rkward/plugins/distributions/negative_binomial.js
index 8a2f008..e388796 100755
--- a/rkward/plugins/distributions/negative_binomial.js
+++ b/rkward/plugins/distributions/negative_binomial.js
@@ -1,5 +1,7 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Negative Binomial distribution'), 'nbinom', ["size", "prob"]);
+ var size = Number (getString ("size"));
+ var prob = Number (getString ("prob"));
+ return initDistSpecifics (i18n ('Negative Binomial distribution'), 'nbinom', ["size", "prob"], [0, Math.ceil (size * 1.5 / prob)], discrete);
}
diff --git a/rkward/plugins/distributions/negative_binomial.xml b/rkward/plugins/distributions/negative_binomial.xml
index 3e464cb..aa8a636 100755
--- a/rkward/plugins/distributions/negative_binomial.xml
+++ b/rkward/plugins/distributions/negative_binomial.xml
@@ -4,10 +4,13 @@
<help file="negative_binomial.rkh" />
<logic>
<insert snippet="dialog_logic"/>
+ <script><![CDATA[
+ gui.setValue ("ui_note.text", i18n (noquote ("Quantiles represents the number of failures in a sequence of Bernoulli trials before the target number of successes is reached.")));
+ ]]></script>
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox type="integer" min="0" initial="1" id="size" label="Target for number of successful trials"/>
+ <spinbox type="integer" min="0" initial="5" id="size" label="Target for number of successful trials"/>
<spinbox default_precision="2" type="real" min="0" initial="0.5" max="1" id="prob" label="Probability of success in each trial"/>
</snippet>
<include file="dist_snippets.xml"/>
diff --git a/rkward/plugins/distributions/normal.js b/rkward/plugins/distributions/normal.js
index 4abf66d..d9e5518 100644
--- a/rkward/plugins/distributions/normal.js
+++ b/rkward/plugins/distributions/normal.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Normal distribution'), 'norm', ["mean", "sd"], [-4, 4], true);
+ return initDistSpecifics (i18n ('Normal distribution'), 'norm', ["mean", "sd"], [-4, 4], continous);
}
diff --git a/rkward/plugins/distributions/plot_beta_distribution.rkh b/rkward/plugins/distributions/plot_beta_distribution.rkh
index b2898f5..1afb251 100644
--- a/rkward/plugins/distributions/plot_beta_distribution.rkh
+++ b/rkward/plugins/distributions/plot_beta_distribution.rkh
@@ -20,6 +20,7 @@ Density and distribution function plots for the Beta distribution.
</settings>
<related>
<ul>
+ <li><link href="rkward://component/beta_probabilities"/></li>
<li><link href="rkward://rhelp/Beta"/></li>
<li><link href="rkward://component/plot_options"/></li>
<li><link href="rkward://rhelp/curve"/></li>
diff --git a/rkward/plugins/distributions/plot_binomial_distribution.rkh b/rkward/plugins/distributions/plot_binomial_distribution.rkh
index 77bb4c7..4e28fac 100644
--- a/rkward/plugins/distributions/plot_binomial_distribution.rkh
+++ b/rkward/plugins/distributions/plot_binomial_distribution.rkh
@@ -13,8 +13,8 @@ Density and distribution function plots for the Binomial distribution.
<settings>
<insert snippet="density_help"/>
<insert snippet="discont_range_help"/>
- <setting id="size">See R reference on Binomial distribution.</setting>
- <setting id="prob">See R reference on Binomial distribution.</setting>
+ <setting id="size">Number of binomial trials</setting>
+ <setting id="prob">Probability of success in each trial</setting>
<insert snippet="common_options_help"/>
</settings>
diff --git a/rkward/plugins/distributions/plot_cauchy_distribution.rkh b/rkward/plugins/distributions/plot_cauchy_distribution.rkh
index 386ef6e..2c9a82c 100644
--- a/rkward/plugins/distributions/plot_cauchy_distribution.rkh
+++ b/rkward/plugins/distributions/plot_cauchy_distribution.rkh
@@ -13,8 +13,8 @@ Density and distribution function plots for the Cauchy distribution.
<settings>
<insert snippet="density_help"/>
<insert snippet="cont_range_help"/>
- <setting id="loc">See R reference on Cauchy distribution.</setting>
- <setting id="scale">See R reference on Cauchy distribution.</setting>
+ <setting id="loc">Location parameter (median) of the Cauchy distribution</setting>
+ <setting id="scale">Scale parameter of the Cauchy distribution</setting>
<insert snippet="common_options_help"/>
</settings>
<related>
diff --git a/rkward/plugins/distributions/poisson.js b/rkward/plugins/distributions/poisson.js
index eed2a57..fbffaa9 100644
--- a/rkward/plugins/distributions/poisson.js
+++ b/rkward/plugins/distributions/poisson.js
@@ -1,5 +1,6 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Poisson distribution'), 'pois', ["lambda"]);
+ var lambda = Number (getString ("lambda"));
+ return initDistSpecifics (i18n ('Poisson distribution'), 'pois', ["lambda"], [0, lambda + Math.sqrt (lambda)*3 + 1], discrete);
}
diff --git a/rkward/plugins/distributions/poisson.xml b/rkward/plugins/distributions/poisson.xml
index c865d5b..683b553 100644
--- a/rkward/plugins/distributions/poisson.xml
+++ b/rkward/plugins/distributions/poisson.xml
@@ -4,10 +4,14 @@
<help file="poisson.rkh" />
<logic>
<insert snippet="dialog_logic"/>
+ <script><![CDATA[
+ gui.setValue ("ui_note.text", i18n (noquote ("Quantiles represents the number of events observed in a fixed number of trials (or a fixed period of time), where lamda is the expected (mean) number of such events.")));
+ ]]></script>
+
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox default_precision="2" type="real" min="0" initial="1" id="lambda" label="Lambda"/>
+ <spinbox default_precision="1" type="real" min="0" initial="1" id="lambda" label="Lambda"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/t.js b/rkward/plugins/distributions/t.js
index 682dc28..c7132af 100644
--- a/rkward/plugins/distributions/t.js
+++ b/rkward/plugins/distributions/t.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('t distribution'), 't', ["df", "ncp"]);
+ return initDistSpecifics (i18n ('t distribution'), 't', ["df", "ncp"], [], continuous);
}
diff --git a/rkward/plugins/distributions/t.xml b/rkward/plugins/distributions/t.xml
index 286a19c..6b19b95 100644
--- a/rkward/plugins/distributions/t.xml
+++ b/rkward/plugins/distributions/t.xml
@@ -7,8 +7,8 @@
</logic>
<snippets>
<snippet id="dist_options">
- <spinbox default_precision="2" type="real" initial="1" id="df" min="0" label="Degrees of Freedom"/>
- <spinbox default_precision="2" type="real" initial="0" id="ncp" min="0" label="non-centrality parameter"/>
+ <spinbox default_precision="1" type="real" initial="10" id="df" min="0" label="Degrees of Freedom"/>
+ <spinbox default_precision="1" type="real" initial="0" id="ncp" min="0" label="non-centrality parameter"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/tukey.js b/rkward/plugins/distributions/tukey.js
index e224d99..32db2a0 100644
--- a/rkward/plugins/distributions/tukey.js
+++ b/rkward/plugins/distributions/tukey.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Studentized Range (Tukey) distribution'), 'tukey', ["nmeans", "df", "nranges"]);
+ return initDistSpecifics (i18n ('Studentized Range (Tukey) distribution'), 'tukey', ["nmeans", "df", "nranges"], [0, undefined], continuous);
}
diff --git a/rkward/plugins/distributions/tukey.xml b/rkward/plugins/distributions/tukey.xml
index 910f1a5..32236ea 100644
--- a/rkward/plugins/distributions/tukey.xml
+++ b/rkward/plugins/distributions/tukey.xml
@@ -8,8 +8,8 @@
<snippets>
<snippet id="dist_options">
<spinbox min="1" type="integer" initial="2" id="nmeans" label="Sample size for range"/>
- <input default_precision="2" initial="5" id="df" label="Degrees of freedom for s"/>
- <spinbox default_precision="2" type="integer" initial="1" min="0" id="nranges" label="Number of groups whose maximum range is considered"/>
+ <spinbox default_precision="1" initial="5" id="df" label="Degrees of freedom for s"/>
+ <spinbox type="integer" initial="1" min="0" id="nranges" label="Number of groups whose maximum range is considered"/>
</snippet>
<include file="dist_snippets.xml"/>
</snippets>
diff --git a/rkward/plugins/distributions/uniform.js b/rkward/plugins/distributions/uniform.js
index 09276b7..4b2fba2 100755
--- a/rkward/plugins/distributions/uniform.js
+++ b/rkward/plugins/distributions/uniform.js
@@ -1,5 +1,7 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Uniform distribution'), 'unif', ["min", "max"]);
+ var min = Number (getString ("min"));
+ var max = Number (getString ("max"));
+ return initDistSpecifics (i18n ('Uniform distribution'), 'unif', ["min", "max"], [min, max], continuous);
}
diff --git a/rkward/plugins/distributions/weibull.js b/rkward/plugins/distributions/weibull.js
index c0832b6..dd74d2c 100755
--- a/rkward/plugins/distributions/weibull.js
+++ b/rkward/plugins/distributions/weibull.js
@@ -1,5 +1,5 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Weilbull distribution'), 'weibull', ["shape", "scale"]);
+ return initDistSpecifics (i18n ('Weilbull distribution'), 'weibull', ["shape", "scale"], [0, undefined], continuous);
}
diff --git a/rkward/plugins/distributions/wilcoxon.js b/rkward/plugins/distributions/wilcoxon.js
index 7d94bd0..6dbaba7 100755
--- a/rkward/plugins/distributions/wilcoxon.js
+++ b/rkward/plugins/distributions/wilcoxon.js
@@ -1,5 +1,7 @@
include ("dist_common.js");
function getDistSpecifics () {
- return initDistSpecifics (i18n ('Wilcox Rank Sum distribution'), 'wilcox', ["m", "n"]);
+ var m = Number (getString ("m"));
+ var n = Number (getString ("n"));
+ return initDistSpecifics (i18n ('Wilcox Rank Sum distribution'), 'wilcox', ["m", "n"], [0, m*n], discrete);
}
diff --git a/rkward/plugins/distributions/wilcoxon.xml b/rkward/plugins/distributions/wilcoxon.xml
index 0d7ccba..d4c59b0 100755
--- a/rkward/plugins/distributions/wilcoxon.xml
+++ b/rkward/plugins/distributions/wilcoxon.xml
@@ -4,6 +4,8 @@
<help file="wilcoxon.rkh" />
<logic>
<insert snippet="dialog_logic"/>
+ <set id="ui_note.visible" to="true"/>
+ <set id="ui_note.text" to="Quantiles correspond to the value of the Wilcoxon Rank Sum statistic, i.e. the number of pairs from sample x and y, for which y[j] is not greater than x[i]."/>
</logic>
<snippets>
<snippet id="dist_options">
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
rkward-cvs mailing list
rkward-cvs at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rkward-cvs
More information about the rkward-tracker
mailing list