Commit e9d25783 authored by Morten Welinder's avatar Morten Welinder

Fix CONFIDENCE and DEVSQ.

parent c55db2ab
1999-06-01 Morten Welinder <terra@diku.dk>
* src/fn-stat.c (gnumeric_confidence): Fix sign.
(gnumeric_devsq): Simplify and correct.
* src/file.c: undo last change. (The operation succeeded, but the
patient died.)
1999-05-31 Matt Loper <matt@gnome-support.com> 1999-05-31 Matt Loper <matt@gnome-support.com>
* src/sheet-view.c: Because GNOME::Component was renamed to * src/sheet-view.c: Because GNOME::Component was renamed to
......
1999-06-01 Morten Welinder <terra@diku.dk>
* src/fn-stat.c (gnumeric_confidence): Fix sign.
(gnumeric_devsq): Simplify and correct.
* src/file.c: undo last change. (The operation succeeded, but the
patient died.)
1999-05-31 Matt Loper <matt@gnome-support.com> 1999-05-31 Matt Loper <matt@gnome-support.com>
* src/sheet-view.c: Because GNOME::Component was renamed to * src/sheet-view.c: Because GNOME::Component was renamed to
......
1999-06-01 Morten Welinder <terra@diku.dk>
* src/fn-stat.c (gnumeric_confidence): Fix sign.
(gnumeric_devsq): Simplify and correct.
* src/file.c: undo last change. (The operation succeeded, but the
patient died.)
1999-05-31 Matt Loper <matt@gnome-support.com> 1999-05-31 Matt Loper <matt@gnome-support.com>
* src/sheet-view.c: Because GNOME::Component was renamed to * src/sheet-view.c: Because GNOME::Component was renamed to
......
1999-06-01 Morten Welinder <terra@diku.dk>
* src/fn-stat.c (gnumeric_confidence): Fix sign.
(gnumeric_devsq): Simplify and correct.
* src/file.c: undo last change. (The operation succeeded, but the
patient died.)
1999-05-31 Matt Loper <matt@gnome-support.com> 1999-05-31 Matt Loper <matt@gnome-support.com>
* src/sheet-view.c: Because GNOME::Component was renamed to * src/sheet-view.c: Because GNOME::Component was renamed to
......
...@@ -350,7 +350,7 @@ static char *help_rank = { ...@@ -350,7 +350,7 @@ static char *help_rank = {
"number whose rank you want to find, @ref is the list of numbers, " "number whose rank you want to find, @ref is the list of numbers, "
"and @order specifies how to rank numbers. If order is 0 numbers " "and @order specifies how to rank numbers. If order is 0 numbers "
"are rank in descending order, otherwise numbers are rank in " "are rank in descending order, otherwise numbers are rank in "
"ascending order. " "ascending order."
"\n" "\n"
"@SEEALSO=PERCENTRANK") "@SEEALSO=PERCENTRANK")
}; };
...@@ -455,7 +455,7 @@ static char *help_trimmean = { ...@@ -455,7 +455,7 @@ static char *help_trimmean = {
"@percent is the percentage of number excluded from the mean. " "@percent is the percentage of number excluded from the mean. "
"For example, if percent=0.2 and the data set contans 40 numbers, " "For example, if percent=0.2 and the data set contans 40 numbers, "
"8 numbers are trimmed from the data set (40 x 0.2), 4 from the " "8 numbers are trimmed from the data set (40 x 0.2), 4 from the "
"top and 4 from the bottom of the set. " "top and 4 from the bottom of the set."
"\n" "\n"
"@SEEALSO=AVERAGE,GEOMEAN,HARMEAN,MEDIAN,MODE") "@SEEALSO=AVERAGE,GEOMEAN,HARMEAN,MEDIAN,MODE")
}; };
...@@ -560,7 +560,7 @@ static char *help_covar = { ...@@ -560,7 +560,7 @@ static char *help_covar = {
"@SYNTAX=COVAR(array1,array2)\n" "@SYNTAX=COVAR(array1,array2)\n"
"@DESCRIPTION=" "@DESCRIPTION="
"COVAR returns the covariance of two data sets. " "COVAR returns the covariance of two data sets."
"\n" "\n"
"Strings and empty cells are simply ignored." "Strings and empty cells are simply ignored."
"\n" "\n"
...@@ -680,7 +680,7 @@ static char *help_correl = { ...@@ -680,7 +680,7 @@ static char *help_correl = {
"@SYNTAX=CORREL(array1,array2)\n" "@SYNTAX=CORREL(array1,array2)\n"
"@DESCRIPTION=" "@DESCRIPTION="
"CORREL returns the correllation coefficient of two data sets. " "CORREL returns the correllation coefficient of two data sets."
"\n" "\n"
"Strings and empty cells are simply ignored." "Strings and empty cells are simply ignored."
"\n" "\n"
...@@ -811,11 +811,11 @@ static char *help_negbinomdist = { ...@@ -811,11 +811,11 @@ static char *help_negbinomdist = {
"@DESCRIPTION=" "@DESCRIPTION="
"The NEGBINOMDIST function returns the negative binomial " "The NEGBINOMDIST function returns the negative binomial "
"distribution. @f is the number of failures, @t is the threshold " "distribution. @f is the number of failures, @t is the threshold "
"number of successes, and @p is the probability of a success. " "number of successes, and @p is the probability of a success."
"\n" "\n"
"if f or t is a non-integer it is truncated. " "if f or t is a non-integer it is truncated. "
"if (f + t -1) <= 0 NEGBINOMDIST returns #NUM! error. " "if (f + t -1) <= 0 NEGBINOMDIST returns #NUM! error. "
"if p < 0 or p > 1 NEGBINOMDIST returns #NUM! error. " "if p < 0 or p > 1 NEGBINOMDIST returns #NUM! error."
"\n" "\n"
"@SEEALSO=BINOMDIST,COMBIN,FACT,HYPGEOMDIST,PERMUT") "@SEEALSO=BINOMDIST,COMBIN,FACT,HYPGEOMDIST,PERMUT")
}; };
...@@ -1455,7 +1455,7 @@ static char *help_skew = { ...@@ -1455,7 +1455,7 @@ static char *help_skew = {
"@SYNTAX=SKEW(n1, n2, ...)\n" "@SYNTAX=SKEW(n1, n2, ...)\n"
"@DESCRIPTION=" "@DESCRIPTION="
"SKEW returns the skewness of a distribution. " "SKEW returns the skewness of a distribution."
"\n" "\n"
"Strings and empty cells are simply ignored." "Strings and empty cells are simply ignored."
"\n" "\n"
...@@ -1535,11 +1535,11 @@ static char *help_expondist = { ...@@ -1535,11 +1535,11 @@ static char *help_expondist = {
"@DESCRIPTION=" "@DESCRIPTION="
"The EXPONDIST function returns the exponential distribution. " "The EXPONDIST function returns the exponential distribution. "
"If the cumulative boolean is false it will return: " "If the cumulative boolean is false it will return: "
"y * exp (-y*x), otherwise it will return 1 - exp (-y*x). " "y * exp (-y*x), otherwise it will return 1 - exp (-y*x)."
"\n" "\n"
"If x<0 or y<=0 this will return an error" "If x<0 or y<=0 this will return an error"
"Performing this function on a string or empty cell simply " "Performing this function on a string or empty cell simply "
"does nothing. " "does nothing."
"\n" "\n"
"@SEEALSO=POISSON") "@SEEALSO=POISSON")
}; };
...@@ -1576,10 +1576,10 @@ static char *help_gammaln = { ...@@ -1576,10 +1576,10 @@ static char *help_gammaln = {
"@DESCRIPTION=" "@DESCRIPTION="
"The GAMMALN function returns the natural logarithm of the " "The GAMMALN function returns the natural logarithm of the "
"gamma function. " "gamma function."
"\n" "\n"
"If @x is non-number then GAMMALN returns #VALUE! error. " "If @x is non-number then GAMMALN returns #VALUE! error. "
"If @x <= 0 then GAMMALN returns #NUM! error. " "If @x <= 0 then GAMMALN returns #NUM! error."
"\n" "\n"
"@SEEALSO=POISSON") "@SEEALSO=POISSON")
}; };
...@@ -1615,10 +1615,10 @@ static char *help_gammadist = { ...@@ -1615,10 +1615,10 @@ static char *help_gammadist = {
"@DESCRIPTION=" "@DESCRIPTION="
"GAMMADIST function returns the gamma distribution. If @cum " "GAMMADIST function returns the gamma distribution. If @cum "
"is TRUE GAMMADIST returns the incomplete gamma function, " "is TRUE GAMMADIST returns the incomplete gamma function, "
"otherwise it returns the probability mass function. " "otherwise it returns the probability mass function."
"\n" "\n"
"If @x < 0 GAMMADIST returns #NUM! error. " "If @x < 0 GAMMADIST returns #NUM! error. "
"If @alpha <= 0 or beta <= 0, GAMMADIST returns #NUM! error. " "If @alpha <= 0 or beta <= 0, GAMMADIST returns #NUM! error."
"\n" "\n"
"@SEEALSO=GAMMAINV") "@SEEALSO=GAMMAINV")
}; };
...@@ -1688,7 +1688,7 @@ static char *help_chidist = { ...@@ -1688,7 +1688,7 @@ static char *help_chidist = {
"freedom." "freedom."
"\n" "\n"
"If @dof is non-integer it is truncated. " "If @dof is non-integer it is truncated. "
"If @dof < 1 CHIDIST returns #NUM! error. " "If @dof < 1 CHIDIST returns #NUM! error."
"\n" "\n"
"@SEEALSO=CHIINV,CHITEST") "@SEEALSO=CHIINV,CHITEST")
}; };
...@@ -1910,11 +1910,11 @@ static char *help_betadist = { ...@@ -1910,11 +1910,11 @@ static char *help_betadist = {
"BETADIST function returns the cumulative beta distribution. @a " "BETADIST function returns the cumulative beta distribution. @a "
"is the optional lower bound of @x and @b is the optinal upper " "is the optional lower bound of @x and @b is the optinal upper "
"bound of @x. If @a is not given, BETADIST uses 0. If @b is " "bound of @x. If @a is not given, BETADIST uses 0. If @b is "
"not given, BETADIST uses 1. " "not given, BETADIST uses 1."
"\n" "\n"
"If @x < @a or @x > @b BETADIST returns #NUM! error. " "If @x < @a or @x > @b BETADIST returns #NUM! error. "
"If @alpha <= 0 or beta <= 0, BETADIST returns #NUM! error. " "If @alpha <= 0 or beta <= 0, BETADIST returns #NUM! error. "
"If @a >= @b BETADIST returns #NUM! error. " "If @a >= @b BETADIST returns #NUM! error."
"\n" "\n"
"@SEEALSO=BETAINV") "@SEEALSO=BETAINV")
}; };
...@@ -1953,11 +1953,11 @@ static char *help_betainv = { ...@@ -1953,11 +1953,11 @@ static char *help_betainv = {
"BETAINV function returns the inverse of cumulative beta " "BETAINV function returns the inverse of cumulative beta "
"distribution. @a is the optional lower bound of @x and @b " "distribution. @a is the optional lower bound of @x and @b "
"is the optinal upper bound of @x. If @a is not given, " "is the optinal upper bound of @x. If @a is not given, "
"BETAINV uses 0. If @b is not given, BETAINV uses 1. " "BETAINV uses 0. If @b is not given, BETAINV uses 1."
"\n" "\n"
"If @p < 0 or @p > 1 BETAINV returns #NUM! error. " "If @p < 0 or @p > 1 BETAINV returns #NUM! error. "
"If @alpha <= 0 or beta <= 0, BETAINV returns #NUM! error. " "If @alpha <= 0 or beta <= 0, BETAINV returns #NUM! error. "
"If @a >= @b BETAINV returns #NUM! error. " "If @a >= @b BETAINV returns #NUM! error."
"\n" "\n"
"@SEEALSO=BETADIST") "@SEEALSO=BETADIST")
}; };
...@@ -1998,7 +1998,7 @@ static char *help_tdist = { ...@@ -1998,7 +1998,7 @@ static char *help_tdist = {
"you want one-tailed or two-tailed distribution." "you want one-tailed or two-tailed distribution."
"\n" "\n"
"If @dof < 1 TDIST returns #NUM! error. " "If @dof < 1 TDIST returns #NUM! error. "
"If @tails is neither 1 or 2 TDIST returns #NUM! error. " "If @tails is neither 1 or 2 TDIST returns #NUM! error."
"\n" "\n"
"@SEEALSO=TINV,TTEST") "@SEEALSO=TINV,TTEST")
}; };
...@@ -2062,10 +2062,10 @@ static char *help_fdist = { ...@@ -2062,10 +2062,10 @@ static char *help_fdist = {
"@DESCRIPTION=" "@DESCRIPTION="
"FDIST function returns the F probability distribution. @dof1 " "FDIST function returns the F probability distribution. @dof1 "
"is the numerator degrees of freedom and @dof2 is the denominator " "is the numerator degrees of freedom and @dof2 is the denominator "
"degrees of freedom. " "degrees of freedom."
"\n" "\n"
"If @x < 0 FDIST returns #NUM! error. " "If @x < 0 FDIST returns #NUM! error. "
"If @dof1 < 1 or @dof2 < 1, GAMMADIST returns #NUM! error. " "If @dof1 < 1 or @dof2 < 1, GAMMADIST returns #NUM! error."
"\n" "\n"
"@SEEALSO=FINV") "@SEEALSO=FINV")
}; };
...@@ -2136,7 +2136,7 @@ static char *help_binomdist = { ...@@ -2136,7 +2136,7 @@ static char *help_binomdist = {
"if n or trials is a non-integer it is truncated. " "if n or trials is a non-integer it is truncated. "
"if n < 0 or trials < 0 BINOMDIST returns #NUM! error. " "if n < 0 or trials < 0 BINOMDIST returns #NUM! error. "
"if n > trials BINOMDIST returns #NUM! error. " "if n > trials BINOMDIST returns #NUM! error. "
"if p < 0 or p > 1 BINOMDIST returns #NUM! error. " "if p < 0 or p > 1 BINOMDIST returns #NUM! error."
"\n" "\n"
"@SEEALSO=POISSON") "@SEEALSO=POISSON")
}; };
...@@ -2230,11 +2230,11 @@ static char *help_permut = { ...@@ -2230,11 +2230,11 @@ static char *help_permut = {
"@DESCRIPTION=" "@DESCRIPTION="
"The PERMUT function returns the number of permutations. " "The PERMUT function returns the number of permutations. "
"@n is the number of objects, @k is the number of objects in each " "@n is the number of objects, @k is the number of objects in each "
"permutation. " "permutation."
"\n" "\n"
"if n or k is non-integer PERMUT returns #VALUE! error. " "if n or k is non-integer PERMUT returns #VALUE! error. "
"if n = 0 PERMUT returns #NUM! error. " "if n = 0 PERMUT returns #NUM! error. "
"if n < k PERMUT returns #NUM! error. " "if n < k PERMUT returns #NUM! error."
"\n" "\n"
"@SEEALSO=COMBIN") "@SEEALSO=COMBIN")
}; };
...@@ -2273,7 +2273,7 @@ static char *help_hypgeomdist = { ...@@ -2273,7 +2273,7 @@ static char *help_hypgeomdist = {
"\n" "\n"
"if x,n,M or N is a non-integer it is truncated. " "if x,n,M or N is a non-integer it is truncated. "
"if x,n,M or N < 0 HYPGEOMDIST returns #NUM! error. " "if x,n,M or N < 0 HYPGEOMDIST returns #NUM! error. "
"if x > M or n > N HYPGEOMDIST returns #NUM! error. " "if x > M or n > N HYPGEOMDIST returns #NUM! error."
"\n" "\n"
"@SEEALSO=BINOMDIST,POISSON") "@SEEALSO=BINOMDIST,POISSON")
}; };
...@@ -2314,7 +2314,7 @@ static char *help_confidence = { ...@@ -2314,7 +2314,7 @@ static char *help_confidence = {
"\n" "\n"
"if size is non-integer it is truncated. " "if size is non-integer it is truncated. "
"if size < 0 CONFIDENCE returns #NUM! error. " "if size < 0 CONFIDENCE returns #NUM! error. "
"if size is 0 CONFIDENCE returns #DIV/0! error. " "if size is 0 CONFIDENCE returns #DIV/0! error."
"\n" "\n"
"@SEEALSO=AVERAGE") "@SEEALSO=AVERAGE")
}; };
...@@ -2344,7 +2344,7 @@ gnumeric_confidence (struct FunctionDefinition *i, ...@@ -2344,7 +2344,7 @@ gnumeric_confidence (struct FunctionDefinition *i,
return NULL; return NULL;
} }
return value_new_float (qnorm (x/2, 0, 1) * (stddev/sqrt(size))); return value_new_float (-qnorm (x/2, 0, 1) * (stddev/sqrt(size)));
} }
static char *help_standardize = { static char *help_standardize = {
...@@ -2356,7 +2356,7 @@ static char *help_standardize = { ...@@ -2356,7 +2356,7 @@ static char *help_standardize = {
"@x is the number to be normalized, @mean is the mean of the " "@x is the number to be normalized, @mean is the mean of the "
"distribution, @stdev is the standard deviation of the distribution." "distribution, @stdev is the standard deviation of the distribution."
"\n" "\n"
"If stddev is 0 STANDARDIZE returns #DIV/0! error. " "If stddev is 0 STANDARDIZE returns #DIV/0! error."
"\n" "\n"
"@SEEALSO=AVERAGE") "@SEEALSO=AVERAGE")
}; };
...@@ -2513,7 +2513,7 @@ static char *help_kurt = { ...@@ -2513,7 +2513,7 @@ static char *help_kurt = {
"Strings and empty cells are simply ignored." "Strings and empty cells are simply ignored."
"\n" "\n"
"If fewer than four numbers are given or all of them are equal " "If fewer than four numbers are given or all of them are equal "
"KURT returns #DIV/0! error. " "KURT returns #DIV/0! error."
"\n" "\n"
"@SEEALSO=VAR") "@SEEALSO=VAR")
}; };
...@@ -2663,64 +2663,27 @@ static char *help_devsq = { ...@@ -2663,64 +2663,27 @@ static char *help_devsq = {
"@DESCRIPTION=" "@DESCRIPTION="
"DEVSQ returns the sum of squares of deviations of a data set from " "DEVSQ returns the sum of squares of deviations of a data set from "
"the sample mean. " "the sample mean."
"\n" "\n"
"Strings and empty cells are simply ignored." "Strings and empty cells are simply ignored."
"\n" "\n"
"@SEEALSO=STDEV") "@SEEALSO=STDEV")
}; };
typedef struct {
int first;
guint32 num;
float_t mean;
float_t sum;
} stat_devsq_sum_t;
static int
callback_function_devsq_sum (Sheet *sheet, Value *value,
char **error_string, void *closure)
{
stat_devsq_sum_t *mm = closure;
float_t tmp;
switch (value->type){
case VALUE_INTEGER:
tmp = value->v.v_int - mm->mean;
mm->num++;
mm->sum += tmp * tmp;
break;
case VALUE_FLOAT:
tmp = value->v.v_int - mm->mean;
mm->num++;
mm->sum += tmp * tmp;
break;
default:
/* ignore strings */
return TRUE;
}
mm->first = FALSE;
return TRUE;
}
static Value * static Value *
gnumeric_devsq (Sheet *sheet, GList *expr_node_list, gnumeric_devsq (Sheet *sheet, GList *expr_node_list,
int eval_col, int eval_row, char **error_string) int eval_col, int eval_row, char **error_string)
{ {
stat_devsq_sum_t pr; stat_closure_t cl;
pr.first = TRUE;
pr.mean = value_get_as_float (gnumeric_average setup_stat_closure (&cl);
(sheet, expr_node_list, eval_col, eval_row, error_string));
pr.num = 0;
pr.sum = 0.0;
function_iterate_argument_values (sheet, callback_function_devsq_sum, function_iterate_argument_values (sheet, callback_function_stat,
&pr, expr_node_list, &cl, expr_node_list,
eval_col, eval_row, error_string); eval_col, eval_row, error_string);
return value_new_float (pr.sum); return value_new_float (cl.Q);
} }
static char *help_fisher = { static char *help_fisher = {
...@@ -2728,7 +2691,7 @@ static char *help_fisher = { ...@@ -2728,7 +2691,7 @@ static char *help_fisher = {
"@SYNTAX=FISHER(x)\n" "@SYNTAX=FISHER(x)\n"
"@DESCRIPTION=" "@DESCRIPTION="
"The FISHER function returns the Fisher transformation at x. " "The FISHER function returns the Fisher transformation at x."
"\n" "\n"
"If x is not-number FISHER returns #VALUE! error." "If x is not-number FISHER returns #VALUE! error."
"If x<=-1 or x>=1 FISHER returns #NUM! error" "If x<=-1 or x>=1 FISHER returns #NUM! error"
...@@ -2766,7 +2729,7 @@ static char *help_poisson = { ...@@ -2766,7 +2729,7 @@ static char *help_poisson = {
"\n" "\n"
"if x is a non-integer it is truncated. " "if x is a non-integer it is truncated. "
"if x <= 0 POISSON returns #NUM! error. " "if x <= 0 POISSON returns #NUM! error. "
"if mean <= 0 POISSON returns the #NUM! error. " "if mean <= 0 POISSON returns the #NUM! error."
"\n" "\n"
"@SEEALSO=POISSON") "@SEEALSO=POISSON")
}; };
...@@ -2813,7 +2776,7 @@ static char *help_pearson = { ...@@ -2813,7 +2776,7 @@ static char *help_pearson = {
"@DESCRIPTION=" "@DESCRIPTION="
"PEARSON returns the Pearson correllation coefficient of two data " "PEARSON returns the Pearson correllation coefficient of two data "
"sets. " "sets."
"\n" "\n"
"Strings and empty cells are simply ignored." "Strings and empty cells are simply ignored."
"\n" "\n"
...@@ -2877,7 +2840,7 @@ static char *help_rsq = { ...@@ -2877,7 +2840,7 @@ static char *help_rsq = {
"@DESCRIPTION=" "@DESCRIPTION="
"RSQ returns the square of the Pearson correllation coefficient " "RSQ returns the square of the Pearson correllation coefficient "
"of two data sets. " "of two data sets."
"\n" "\n"
"Strings and empty cells are simply ignored." "Strings and empty cells are simply ignored."
"\n" "\n"
...@@ -3033,11 +2996,11 @@ static char *help_large = { ...@@ -3033,11 +2996,11 @@ static char *help_large = {
"@SYNTAX=LARGE(n1, n2, ..., k)\n" "@SYNTAX=LARGE(n1, n2, ..., k)\n"
"@DESCRIPTION=" "@DESCRIPTION="
"LARGE returns the k-th largest value in a data set. " "LARGE returns the k-th largest value in a data set."
"\n" "\n"
"If data set is empty LARGE returns #NUM! error. " "If data set is empty LARGE returns #NUM! error. "
"If k<=0 or k is greater than the number of data items given " "If k<=0 or k is greater than the number of data items given "
"LARGE returns #NUM! error. " "LARGE returns #NUM! error."
"\n" "\n"
"@SEEALSO=PERCENTILE,PERCENTRANK,QUARTILE,SMALL") "@SEEALSO=PERCENTILE,PERCENTRANK,QUARTILE,SMALL")
}; };
...@@ -3099,11 +3062,11 @@ static char *help_small = { ...@@ -3099,11 +3062,11 @@ static char *help_small = {
"@SYNTAX=SMALL(n1, n2, ..., k)\n" "@SYNTAX=SMALL(n1, n2, ..., k)\n"
"@DESCRIPTION=" "@DESCRIPTION="
"SMALL returns the k-th smallest value in a data set. " "SMALL returns the k-th smallest value in a data set."
"\n" "\n"
"If data set is empty SMALL returns #NUM! error. " "If data set is empty SMALL returns #NUM! error. "
"If k<=0 or k is greater than the number of data items given " "If k<=0 or k is greater than the number of data items given "
"SMALL returns #NUM! error. " "SMALL returns #NUM! error."
"\n" "\n"
"@SEEALSO=PERCENTILE,PERCENTRANK,QUARTILE,LARGE") "@SEEALSO=PERCENTILE,PERCENTRANK,QUARTILE,LARGE")
}; };
...@@ -3210,7 +3173,7 @@ static char *help_prob = { ...@@ -3210,7 +3173,7 @@ static char *help_prob = {
"If any value in @prob_range is <=0 or > 1, PROB returns #NUM! " "If any value in @prob_range is <=0 or > 1, PROB returns #NUM! "
"error. " "error. "
"If @x_range and @prob_range contain a different number of data " "If @x_range and @prob_range contain a different number of data "
"entries, PROB returns #N/A! error. " "entries, PROB returns #N/A! error."
"\n" "\n"
"@SEEALSO=BINOMDIST,CRITBINOM") "@SEEALSO=BINOMDIST,CRITBINOM")
}; };
...@@ -3362,10 +3325,10 @@ static char *help_steyx = { ...@@ -3362,10 +3325,10 @@ static char *help_steyx = {
"@DESCRIPTION=" "@DESCRIPTION="
"STEYX function returns the standard error of the predicted " "STEYX function returns the standard error of the predicted "
"y-value for each x in the regression. " "y-value for each x in the regression. "
"\n" "\n"
"If @known_y's and @known_x's are empty or have a different number " "If @known_y's and @known_x's are empty or have a different number "
"of arguments then STEYX returns #N/A! error. " "of arguments then STEYX returns #N/A! error."
"\n" "\n"
"@SEEALSO=PEARSON,RSQ,SLOPE") "@SEEALSO=PEARSON,RSQ,SLOPE")
}; };
...@@ -3516,12 +3479,12 @@ static char *help_ztest = { ...@@ -3516,12 +3479,12 @@ static char *help_ztest = {
"@SYNTAX=ZTEST(ref,x)\n" "@SYNTAX=ZTEST(ref,x)\n"
"@DESCRIPTION=" "@DESCRIPTION="
"ZTEST returns the two-tailed probability of a z-test. " "ZTEST returns the two-tailed probability of a z-test."
"\n" "\n"
"@ref is the data set and @x is the value to be tested. " "@ref is the data set and @x is the value to be tested."
"\n" "\n"
"If ref contains less than two data items ZTEST " "If ref contains less than two data items ZTEST "
"returns #DIV/0! error. " "returns #DIV/0! error."
"\n" "\n"
"@SEEALSO=CONFIDENCE,NORMDIST,NORMINV,NORMSDIST,NORMSINV," "@SEEALSO=CONFIDENCE,NORMDIST,NORMINV,NORMSDIST,NORMSINV,"
"STANDARDIZE") "STANDARDIZE")
...@@ -3609,7 +3572,7 @@ static char *help_averagea = { ...@@ -3609,7 +3572,7 @@ static char *help_averagea = {
"If the cell contains text or the argument evaluates to FALSE, " "If the cell contains text or the argument evaluates to FALSE, "
"it is counted as value zero (0). If the argument evaluates to " "it is counted as value zero (0). If the argument evaluates to "
"TRUE, it is counted as one (1). Note that empty cells are not " "TRUE, it is counted as one (1). Note that empty cells are not "
"counted. " "counted."
"\n" "\n"
"@SEEALSO=AVERAGE") "@SEEALSO=AVERAGE")
}; };
...@@ -3660,7 +3623,7 @@ static char *help_maxa = { ...@@ -3660,7 +3623,7 @@ static char *help_maxa = {
"If the cell contains text or the argument evaluates to FALSE, " "If the cell contains text or the argument evaluates to FALSE, "
"it is counted as value zero (0). If the argument evaluates to " "it is counted as value zero (0). If the argument evaluates to "
"TRUE, it is counted as one (1). Note that empty cells are not " "TRUE, it is counted as one (1). Note that empty cells are not "
"counted. " "counted."
"\n" "\n"
"@SEEALSO=MAX,MINA") "@SEEALSO=MAX,MINA")
}; };
...@@ -3751,7 +3714,7 @@ static char *help_mina = { ...@@ -3751,7 +3714,7 @@ static char *help_mina = {
"If the cell contains text or the argument evaluates to FALSE, " "If the cell contains text or the argument evaluates to FALSE, "
"it is counted as value zero (0). If the argument evaluates to " "it is counted as value zero (0). If the argument evaluates to "
"TRUE, it is counted as one (1). Note that empty cells are not " "TRUE, it is counted as one (1). Note that empty cells are not "
"counted. " "counted."
"\n" "\n"
"@SEEALSO=MIN,MAXA") "@SEEALSO=MIN,MAXA")
}; };
...@@ -3784,7 +3747,7 @@ static char *help_vara = { ...@@ -3784,7 +3747,7 @@ static char *help_vara = {
"If the cell contains text or the argument evaluates" "If the cell contains text or the argument evaluates"
"to FALSE, it is counted as value zero (0). If the " "to FALSE, it is counted as value zero (0). If the "
"argument evaluates to TRUE, it is counted as one (1). Note " "argument evaluates to TRUE, it is counted as one (1). Note "
"that empty cells are not counted. " "that empty cells are not counted."
"\n" "\n"
"@SEEALSO=VAR,VARPA") "@SEEALSO=VAR,VARPA")
}; };
...@@ -3820,7 +3783,7 @@ static char *help_varpa = { ...@@ -3820,7 +3783,7 @@ static char *help_varpa = {
"calculation too. If the cell contains text or the argument " "calculation too. If the cell contains text or the argument "
"evaluates to FALSE, it is counted as value zero (0). If the " "evaluates to FALSE, it is counted as value zero (0). If the "
"argument evaluates to TRUE, it is counted as one (1). Note " "argument evaluates to TRUE, it is counted as one (1). Note "
"that empty cells are not counted. " "that empty cells are not counted."
"\n" "\n"
"@SEEALSO=VARP,VARP") "@SEEALSO=VARP,VARP")
}; };
...@@ -3856,7 +3819,7 @@ static char *help_stdeva = { ...@@ -3856,7 +3819,7 @@ static char *help_stdeva = {
"too. If the cell contains text or the argument evaluates to " "too. If the cell contains text or the argument evaluates to "
"FALSE, it is counted as value zero (0). If the argument " "FALSE, it is counted as value zero (0). If the argument "
"evaluates to TRUE, it is counted as one (1). Note that empty " "evaluates to TRUE, it is counted as one (1). Note that empty "
"cells are not counted. " "cells are not counted."
"\n" "\n"
"@SEEALSO=STDEV,STDEVPA") "@SEEALSO=STDEV,STDEVPA")
}; };
...@@ -3883,7 +3846,7 @@ static char *help_stdevpa = { ...@@ -3883,7 +3846,7 @@ static char *help_stdevpa = {
"the calculation too. If the cell contains text or the argument " "the calculation too. If the cell contains text or the argument "
"evaluates to FALSE, it is counted as value zero (0). If the " "evaluates to FALSE, it is counted as value zero (0). If the "
"argument evaluates to TRUE, it is counted as one (1). Note " "argument evaluates to TRUE, it is counted as one (1). Note "
"that empty cells are not counted. " "that empty cells are not counted."
"\n" "\n"
"@SEEALSO=STDEVA,STDEVP") "@SEEALSO=STDEVA,STDEVP")
}; };
...@@ -3906,7 +3869,7 @@ static char *help_slope = { ...@@ -3906,7 +3869,7 @@ static char *help_slope = {
"@SYNTAX=SLOPE(known_y's,known_x's)\n" "@SYNTAX=SLOPE(known_y's,known_x's)\n"
"@DESCRIPTION=" "@DESCRIPTION="
"SLOPE returns the slope of the linear regression line. " "SLOPE returns the slope of the linear regression line. "
"\n" "\n"
"@SEEALSO=STDEV,STDEVPA") "@SEEALSO=STDEV,STDEVPA")
}; };
...@@ -4060,14 +4023,14 @@ static char *help_percentrank = { ...@@ -4060,14 +4023,14 @@ static char *help_percentrank = {
"point which you want to rank, and the optional @significance " "point which you want to rank, and the optional @significance "
"indentifies the number of significant digits for the returned " "indentifies the number of significant digits for the returned "
"value. If @significance is omitted, PERCENTRANK uses three " "value. If @significance is omitted, PERCENTRANK uses three "
"digits. " "digits."
"\n" "\n"
"If @array contains not data points, PERCENTRANK returns #NUM! " "If @array contains not data points, PERCENTRANK returns #NUM! "
"error. " "error. "
"If @significance is less than one, PERCENTRANK returns #NUM! " "If @significance is less than one, PERCENTRANK returns #NUM! "
"error. " "error. "
"If @x does not match any of the values in @array or @x matches " "If @x does not match any of the values in @array or @x matches "
"more than once, PERCENTRANK interpolates the returned value. " "more than once, PERCENTRANK interpolates the returned value."
"\n" "\n"
"@SEEALSO=LARGE,MAX,MEDIAN,MIN,PERCENTILE,QUARTILE,SMALL") "@SEEALSO=LARGE,MAX,MEDIAN,MIN,PERCENTILE,QUARTILE,SMALL")
}; };
......
...@@ -350,7 +350,7 @@ static char *help_rank = { ...@@ -350,7 +350,7 @@ static char *help_rank = {
"number whose rank you want to find, @ref is the list of numbers, " "number whose rank you want to find, @ref is the list of numbers, "
"and @order specifies how to rank numbers. If order is 0 numbers " "and @order specifies how to rank numbers. If order is 0 numbers "
"are rank in descending order, otherwise numbers are rank in " "are rank in descending order, otherwise numbers are rank in "
"ascending order. " "ascending order."
"\n" "\n"
"@SEEALSO=PERCENTRANK") "@SEEALSO=PERCENTRANK")
}; };
...@@ -455,7 +455,7 @@ static char *help_trimmean = { ...@@ -455,7 +455,7 @@ static char *help_trimmean = {
"@percent is the percentage of number excluded from the mean. " "@percent is the percentage of number excluded from the mean. "
"For example, if percent=0.2 and the data set contans 40 numbers, " "For example, if percent=0.2 and the data set contans 40 numbers, "
"8 numbers are trimmed from the data set (40 x 0.2), 4 from the " "8 numbers are trimmed from the data set (40 x 0.2), 4 from the "
"top and 4 from the bottom of the set. " "top and 4 from the bottom of the set."